异常机制 Java是采用面向对象的方式来处理异常,处理过程是: 1,抛出异常:在执行一个方法的时候,如果发生异常,则这个方法生成代表这个异常的一个对象,停止执行,并把这个生成的异常对象交给JRE 2,捕获异常:JRE拿到这个异常后,寻找相应的代码来处理该异常,JRE在方法的调用栈中查找,从生成异常的方法开始回溯,直到找到相应的异常处理代码为止 异常的根类为java.lang.Throwable,Throwable分为两个子类,一个是Error,另一个是Exception,如图 Error是错误,不需要管它,而Exception是需要我们处理的异常,分为RuntimeException和CheckedException,我们常用到的异常有:ArithmeticException,NullPointerException,ClassCastException和ArrayIndexOutOfBoundEcxeption,空指针异常就是访问一个空对象的成员变量或者方法的时候,就会出现空指针异常,建议加个判断语句
package cn.com.exception; public class TestException { public static void main(String[] args) { int a = 0; int b = 1; int c = b/a; System.out.println(c);//会出现ArithmeticException String str = null; System.out.println(str.charAt(1));//会出现空指针异常 Animal aa = new Dog(); Tiger bb = (Tiger) aa;//会出现CCE异常 int[] array = new int[3]; System.out.println(array[4]); //会出现ArrayIndexOutOfBoundEcxeption } } class Animal { public static void eat() { System.out.println("吃东西"); } } class Dog extends Animal { public static void eat2() { System.out.println("吃骨头!!"); } } class Tiger extends Animal { public static void eat2() { System.out.println("吃肉肉!!"); } }