java复习笔记--异常处理
异常的概念
1.
错误:错误无法有程序本身解决
异常:应用程序可以自行回复
2.
运行时异常:可不做处理
检查型异常:(编译时异常或非运行时异常)检查型异常如果不处理就没有办法通过编译,也就不能运行
如System.in.read();必须做异常处理,,否则就没有办法通过编译
捕获异常--try-catch-finally语句
1.无论try块中是否抛出异常,catch块是否得到执行,finally都要被执行,它提供了统一的出口,finally也可以省略。
2.try块只能有一个,catch块可以有0个到多个,以下组合都是合法的:
try-catch-finally, try-catch, try-finally
3.catch尽可能使用级别最低的异常子类来捕获异常
声明异常
1.使用throws声明一场,如: 类型 方法名([参数表]) throws 异常列表
2.异常列表中的异常必须是该方法内部可能抛出的异常
3.异常类名之间没有顺序
**一个方法被覆盖是,覆盖他的方法只能抛出相同的异常或者该异常的子类,即不能抛出新的异常。
人为抛出异常
throw 异常对象;//注意是throw, 而不是throws
例如:创建一个算数异常对象并抛出
throw new ArithmeticException();
或者:
ArithmeticException e = new ArithmeticException();
throw e;
自定义异常类
1.用户自定义异常类可以继承Throwable或Exception类
如:``
class MyException extends Exception{
......
}