为什么会产生异常,异常的分类
/**
* 测试java异常处理机制
* java异常处理的根基类为Throwable,存在两个子类Error和
* Exception(Checked Exception(必须捕获进行处理) ;
* Unchecked Exception(Runtime Exception(java运行时异常)(java虚拟机正常运行时抛出异常的超类)));
* 程序员需要处理的异常类型为Exception,Checked必须捕获处理;而Unchecked由于发生频率高,JRE会自动捕获.
* @author Administrator
*
*/
public class TestException01 {
public static void main(String[] args) {
// int i = 1/0;
//编译通过,虚拟机运行时抛出java.lang.ArithmeticException: / by zero异常,Unchecked Exception
Computer c = null;
c.start();
//java.lang.NullPointerException 空指针异常 Unchecked Exception
//对象为空,调用了对象的方法或属性
//处理:判断 if(c!=null),再调用
//ClassCastException 类型转化异常
//处理
Man man = new Man();
Object obj = "测试类型转化异常的处理方法";
man.run(obj);
if(obj instanceof Man){
Man man1 = (Man) obj;
}
}
}
class Computer{
public void start(){
System.out.println("启动");
}
}
class Man{
String eye;
public void run(Object obj ){
System.out.println("running'");
}
}