程序不可能在任何环境中都不会出错,所以java引入了try-catch-finally
一般结构为:
try{
// 编写的代码
}catch(Exception ex){
// 代码出现异常处理,如果代码没有异常是不会执行catch的
}finally{
// 一般用于关闭资源,清理数据,无论是否有异常都会执行
}
也可以这样:
try{
// 代码块
}catch(Exception ex){
//处理异常
}
try{
//代码块
finally{
// 处理异常 // 如果代码块抛异常先执行finally后再抛
}
总结:1.一般抛出的异常在catch捕获处理,如果finally有处理再进行finally处理,
2.如果finally处理也有异常那么会将finally出现的异常抛出给调用者
在开发中:一般会定义业务异常继承RuntimeException 称为未检查异常,表示程序不知道会发生这样的错误。另一种就是已检查异常,表示程序有可能有抛出异常,调用者要么继续抛出异常,要么自己解决这个问题。