程序的 exit code
捕捉异常
- 使用try {} catch () {} 语句捕捉对方抛出的异常对象
- 在catch块后面的小括号中声明一个异常变量来接收对方抛出的异常对象, 异常类型可以是 >= 对方抛出的异常对象的类型
- 在catch块后面的大括号中编写处理异常的语句 ```java try{
}catch(异常类型 e){
}finally{
官方给出的异常类型体系结构
Throwable
官方设定: 只有使用Throwable的子类造的对象, 才可以使用throw关键字进行抛出, 使用catch进行捕捉
Exception
异常对象的作用
- 当方法发生异常返回的时候, 携带异常信息
- 如果只是需要携带一个字符串信息, 那么使用Exception类就可以了
- 如果想要携带更多的信息, 应该自己定义一个子类去继承Exception. 然后在子类中添加特有的成员来记录更多异常信息
异常对象中的常用方法 (从Throwable中继承的)
- getMessage() 获取异常携带的字符串信息
- printStackTrace() 打印栈的追踪信息
自定义异常类型
- 继承Exception
- 继承RumtimeException
编译时, 异常是否受检
- 受检 (所有直接或间接继承Exception的子类)
- 如果没有在编译之前处理, 则无法通过编译器检查,
- 不受检 (所有直接或间接继承RuntimeException的子类)
- 在编译之前不处理也可以通过编译
异常处理的两种方式
- 在方法内部直接捕捉
- 抛出给上层方法
- 在方法的参数列表后面使用throws 异常类型