定义
异常(Exception),指在程序的运行过程中,发生了不正常的现象,阻止了程序的运行,称之为发生异常。
语法
try {
// 这里放入可能出现异常的代码
} catch (Exception ex) {
// 1. 这里放入处理异常的代码,如果try代码出现异常,则会执行此处代码
// 2. 若try中没有异常,则不会执行此处代码
|------------------------|
| // 可以有多重catch |
| // 会从上往下判断 |
| // 只会执行其中一个 |
|} catch (Exception ex) {|
|------------------------|
} finally {
// 此处放入使用要执行的代码,无论是否发生异常
// 唯一的例外:遇到System.exit()时不会执行此处代码
}
异常分类
throw 和 throws的区别
位置 | 内容 | 作用 | |
---|---|---|---|
throw | 方法内部 | throw + 异常对象 | 制造异常,抛出异常 |
throws | 方法的签名处、声明处 | throws + 异常类型 | 告诉方法的调用者,这个方法可能出现的异常 |
注意
重载和重写关于异常的不同处理
重写时抛出的异常必须小于等于父类异常
重载则无关
自定义异常
- 编码时可以自定义异常,需继承自Exception。
- 如果继承的是运行时异常,使用时无需额外处理。
- 如果继承的是检查异常,使用时需要try-catch捕获或者throws向上抛。