一、try-catch-finally
try{
//可能出现异常的代码块
}catch(异常类型1 名字){
//处理异常
}catch(异常类型2 名字){
//处理异常
}finally{
//要执行的代码
}
- 说明:
finally是可以选择不写的;
使用try将可能出现异常代码包装起来,在执行过程中一旦出现异常,就会生成一个对应异常类的对象,根据此对象的类型去catch中进行匹配。
- 一旦try中的异常对象匹配到某一个catch时,就进入catch中进行异常的处理。一旦处理完成就跳出当前的try-catch结构(在没有写finally的情况下).
- catch中的异常类型若没有子父类关系,则谁声明在上,谁声明在下无所谓;若满足子父类关系,则要求子类一定声明在父类的上面,否则报错。
- 常用的异常对象处理方法e.getMessage();e.printStacktrace()常用。
- 在try结构中声明的变量,在出了try结构以后就不能再被调用。
二、finally用法
- finally是可选的
- finally中声明的是一定会执行的代码。即使catch中出现异常了try中有return语句,catch中return语句等情况。当finally中语句执行完后,再进行return。
- finally中也可以嵌套try-catch结构。像数据库连接、输入输出流等资源一定要放在fina