异常处理机制能让程序在异常发生时,按照代码的预先设定的异常处理逻辑,针对性地处理异常,让程序尽最大可能恢复正常并继续执行,且保持代码的清晰。
jdk自带异常类继承树
java处理异常的两种方案
1.抓捕异常
try { // 程序代码() }catch(ExceptionName e) { //Catch 块 } catch(ExceptionName e1) { //Catch 块 }finally{ // }
尝试着抓到对应的异常,在针对具体问题,具体处理
Catch 语句包含要捕获异常类型的声明。当保护代码块中发生一个异常时,try 后面的 catch 块就会被检查。
如果发生的异常包含在 catch 块中,异常会被传递到该 catch 块,这和传递一个参数到方法是一样。
2.抛出异常
即暂时不解决异常,把异常抛给调用他的人(甩锅)向上抛
方法名字后面 throws 异常名称 { }
public void des(double amount) throws RemoteException { throw new RemoteException(); }
注:throw语句为人为主动抛出一个异常(可为非捕获)
----自定义异常类
class MyException extends Exception{ public MyException(){} }