Java Exception 异常

更多 Java 基础知识方面的文章,请参见文集《Java 基础知识》


Java Exception Class Diagram 类继承结构

Java Exception Class Diagram
  • Throwable:The Throwable class is the superclass of all errors and exceptions in the Java language.
  • Error:系统级别,程序无法处理的错误。例如:
    • OurOfMemeryError
    • ThreadDeath
    • StackOverflowError 不能迅速收敛的递归
  • Exception,分为运行时异常和非运行时异常:
    • RuntimeException,在编译时不会检查运行时异常,因此不需要 try-catch。例如:
      • NullPointerException
      • IndexOutOfBoundsException
      • ArithmeticException
      • ClassCastException
    • 非运行时异常,在编译时会检查非运行时异常,因此需要 try-catch,否则编译不通过。例如:
      • IOException
      • SQLException

try-catch-finally

  • try 不能单独出现
  • try 后面可以跟 catch,不跟 finally
  • try 后面可以跟 finally,不跟 catch
  • try 后面可以同时跟 catch 和 finally

finally 的执行

  • 在 try 或者 catch 代码块中调用 return,finally 代码块仍会执行,在 return 前执行
  • 在 try 或者 catch 代码块中调用 System.exit(),finally 代码块不会执行
    例如下面的代码:会返回 false。此时 return true 是不可达语句,在编译阶段将优化去掉。
public static boolean decision() { 
     try { 
        return true; 
    } finally { 
      return false; 
    } 
}

throw VS throws

  • throw 抛出异常

    • throw e 跟的是一个对象
    • 在方法内部
    • 不能 throw 多个
  • throws 声明异常

    • throws IOException 跟的是一个类
    • 在方法签名中
    • 可以 throws 多个
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Java异常类型 所有异常类型都是Throwable的子类,Throwable把异常分成两个不同分支的子类Erro...
    予别她阅读 4,490评论 0 2
  • JAVA异常与异常处理详解 一、异常简介 什么是异常? 异常就是有异于常态,和正常情况不一样,有错误出错。在jav...
    java大湿兄阅读 4,545评论 0 11
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,906评论 18 399
  • 本文部分来自于:代码钢琴家blog address:www.cnblogs.com/lulipro/p/75042...
    八目朱勇铭阅读 5,080评论 0 4
  • 每次坐在公交车上看着窗外车马穿行 仿佛时间定格在那一刻 脑海中总是回想起一幅幅画面 校园青春是美好短暂的
    七友_6ea7阅读 975评论 0 0