Java 5个异常处理关键字
try,catch,finally,throw,throws
try-catch:1 代码正常运行,走try结束 2 有异常,catch 3 finally块,无论如何都会执
system.exit(1);
//退出Java虚拟机 括号中非零表示非正常退出 可放在catch中强制退出异常
try{
}
catch{
return;
}
finally{
//finally唯一不执行情况:system.exit();
}
//catch块中return,将会先执行finally再执行return
排列catch语句顺序:先子后父 catch从上到下按顺序一一匹配 匹配到的第一个catch块会执行
异常声明
throws 声明方法内抛出了异常 在方法参数后面 可跟多个异常
throw
程序员自行生成并抛出异常 在方法体内,可作为语句 只能抛出一个异常 (必须与throws一起使用)
( 有try-catch则无需throws)
Error 是非程序本身能解决的错误
Exception 是虚拟机能解决的错误
自定义异常
异常处理原则
异常只能用于非正常情况
不要把庞大代码块放在try中
在catch中制定具体的异常类型
抛出的异常要解决
异常分为checked异常(必须捕获或声明)和runtime异常(运行时异常不必要捕获或抛出)