Java基础—异常

Java基础--异常 - 图1

  • RuntimeException运行时异常,及其子类统称非受检查异常,如:、NPE空指针异常、NumberFormatException字符串转换异常、ArrayInedxOutOfBoundsException数组越界、ClassCastException类型转换错误、ArithmeticException算术错误等。
  • 三种情况finally不会执行
    • try或finally中使用了System.exit(int)退出程序,但是若 System.exit(int)在异常语句之后,finally还会执行。
    • 程序所在的线程死亡。
    • 关闭CPU。
  • try块写retrn finally会执行吗?
    • 会,finally在try 的return之间执行。

      当 try 语句和 finally 语句中都有 return 语句时,在方法返回之前,finally 语句的内容将被执行,并且 finally 语句的返回值将会覆盖原始的返回值。

  1. public static int f (int v){
  2. try{
  3. return v*v;
  4. }finally{
  5. if(v == 2)
  6. return 0;
  7. }
  8. }