异常分为Error和Exception。Error通常是灾难性错误,一般发生时,JVM选择终止程序执行;Exception通常可在程序中进行处理,尽量避免
Exception分支中有一个重要子类RuntimeException,运行时异常
ArrayIndexOutOfBoundsException:数组下标越界NullPointerException:空指针异常ArithmeticException:算术异常MissingResourceException:丢失资源ClassNotFoundException:找不到类处理异常的关键字
try:监控区域,可能会出现异常的程序代码,放在其中catch:捕获异常,若捕获,则执行catch块的内容finally:无论是否捕获到异常,都会执行。例如IO时出现异常,最后需要在finally块中关闭流
TODO
throw:方法中主动抛出异常throws:方法中处理不了该异常,抛出,到上级处理?public void test(int a, int b) throws ArithmeticException{if(b == 0){throw new ArithmeticException();}
}
使用Java内置的异常类可以描述大部分异常情况。此外用户可以自定义异常,只需继承Exception类
throw抛出异常对象try-catch语句捕获并处理;否则在方法声明处通过throws抛出给方法调用者的异常