*异常体系
Throwable
异常(Exception):在程序运行过程中出现的非严重性错误
运行时异常
ArithmeticException:算数异常
InputMismatchException:输入类型不匹配
NullPointerException:空指针异常
ArrayIndexOutOfBoundsException:数组索引下标越界异常
ClassCastException:类转换异常
NumberFormatException:数字格式化异常
检查(编译时)异常
IOException: IO流异常
FileNotFoundException: 文件无法加载异常
ClassNotFoundException:类无法加载异常
错误(Error):在程序运行过程中出现的严重性错误
*异常处理
try: 捕获异常
catch:处理对应的异常
finally:无论是否发生异常都必须执行的语句
注意:
1.catch处理对应类型的异常,catch可以有多个,异常的顺序一定是从子到父。
2.当对象无更多引用指向时,会被垃圾回收器回收,释放内存资源。
但是,在java中并不是所有的对象都会被垃圾回收器回收,比如IO流对象。
所有,往往在catch中去释放不被垃圾回收器回收的资源对象。
*自定义异常
throw表示抛出异常,语法是:
throw new 异常类型([异常信息]);
throws表示用来声明方法可能会抛出那些异常: 语法是:
throws 异常类型1,异常类型2…