Java 异常机制总结

Posted by icoding168 on 2020-03-28 20:57:36

分类: Java  

Java 中所有异常都是 Throwable 的子类,他的直接子类有两个,一个是 Error, 一个是 Exception。

Error 一般表示 JVM 出现了严重问题,比如栈溢出或内存溢出。

Exception 中异常分为两类:一类是 RuntimeException ,也就是运行时异常,表示运行期间出现的错误,比如空指针和数组下标越界,出现这种异常一般是程序出现了逻辑错误,也就是代码有 Bug。另一类是编译时异常(除了 RuntimeException 以外的异常),常见的一般有 IO Exception 等。

try catch finally 语句块执行细节

  • finally 语句必须在 try 语句块执行的情况下才会执行。
  • 不管有没有异常发生,finally 语句中的代码都会执行;
  • finally 语句如果有 return,方法最终返回的是 finally 语句 return 的数据。
  • finally 语句没有 return 但是修改了要返回的数据,假如该数据是基本类型,则 finally 语句的修改不会对方法的返回结果造成影响,假如该数据是引用类型,则方法的返回结果就是 finally 语句修改后的结果。