java面向对象2(23) ​​​​​​​异常处理机制三【重点详解】

java面向对象2(23) ​​​​​​​异常处理机制三【重点详解】

 

 

 

 

 

结论:

finally关键字当前try中是最后执行的代码块,无论如何一定执行

 主动抛出异常 相当于 return,都会结束当前方法

 finally代码块之后的代码是否执行,主要看try..catch..finally结构中是否有主动抛出异常或return

 

 

 

二. ​​​​​​​注意事项

  1. catch相当于else if,可以写0~多个。建议子类在上,父类在下

 

 

2. 某段代码若不存在某个具体的异常,强制catch会报错

 

 

3、因为RuntimeException不需要方法上编写声明,所以我们常常通过RuntimeException异常来转换其他异常,让方法定义省略声明异常

 

 

4方法重写时,子类重写方法声明的异常 ≤ 父类方法声明的异常

 

 

5、若仅需要强制执行某段代码,可以使用try finally结构

 

 

 

三.​​​​​​​ 快速总结

处理异常方式:

  • 处理异常:try …catch    try…catch….finally

  • 主动抛出异常: throw new RuntimeException();

 

异常处理机制:

异常:不正常情况。

异常处理机制:处理不正常情况,Java程序变得更健壮。

 

Throwable

------Error  大错误。

程序设计缺陷,停下程序,重写代码。

------Exception  异常,小问题

-----------程序执行中发生的意外----非运行异常

-----------程序员编写代码导致-------RuntimeException 运行异常

 

Java中处理异常方式:

  1. 处理异常:ctrl+alt+t

try{

//可能出异常的代码

//正常执行,无异常:不会执行catch

//出现异常:try中代码强制停止,执行catch

}catch(Exception e){

//捕获并处理异常 (catch可以写多个,子上父下)

}finally{

//一定执行

}

 

 

  1. 处理不了,不知如何处理,向上抛:

public void run1() throws Exception{

throw new Exception(“xxxxx”);

}

 

public void run1(){

throw new RuntimeException(“xxxxx”);

}

 

其他异常转为RuntimeException

throw new RuntimeException(e);

 

 

请给努力中的自己点个赞哦!

每天进步一点点`~~~~~​​​​​​​

​​​​​​​