由于发生异常,导致程序异常终止,java提供了对异常进行处理的方式---捕获异常
try{
可能出现问题的代码 //这里的代码越少越好,因为他是异常,会走异常处理机制,JVM会开辟新的资源管理他,代码越多,开辟的资源越多,造成资源浪费
}catch(异常名 变量){
针对问题的处理 //这里必须要有代码,否则就显得用try.. catch没有意义
}finally{
释放资源
}
try代码块中的程序发生了异常,系统会将这个异常的信息封装成一个异常对象,并将这个对象传递给catch代码块。catch代码块需要一个参数指明它所能接受的异常类型,这个参数类型必须是Exception类及其子类
在try代码块中,发生异常语句后面的代码是不会被执行的,就有了finally代码块,不论是否程序发生异常或使用return语句,finally代码块都会执行
try{
可能出现问题的代码
可能出现问题的代码
}catch(异常名 变量){ //可以用多个catch代码块执行处理多个异常,
针对问题的处理
}catch(异常名 变量){
针对问题的处理
}catch(Exception 变量){ //对于不清楚的异常可以用Exception,知道的异常尽量明确,如果出现子父关系的异常,父类异常必须在后
针对问题的处理
}finally{
释放资源
}
2、在JDK7出现了一个新的异常处理方案
try{
}catch(异常名 | 异常名2 | ...变量){
..
}
注意:处理方式是一致的
异常类型必须是平级关系
原文:https://www.cnblogs.com/xxhhui/p/14727649.html