Java异常详解

Java异常划分为两类:受检(checked)非受检(unchecked)

  • 若异常是类java.lang.RuntimeException或java.lang.Error的子类,则为非受检异常。
  • 若异常是类java.lang.Exception或其子对象,但非属于java.lang.RuntimeException或其子对象,则为受检异常。

受检异常是一个合理应用应该试图妥善处理的问题,而非受检异常(运行时异常或错误)是另一类的问题,软件通常无法由此正常恢复。错误类型则显然是一些特殊的条件,对此我们并不打算处理或由其恢复。

受检的含义,是受编译程序检查。其目的,在于API设计者认为,调用这个方法时,出错机会很高,因此要求编译程序协助(或提醒)调用API的用户明确使用语法处理,你无权选择要不要处理。

RuntimeException衍生出来的类实例,通常是事先无法预测错误是否发生的执行时期异常,编译程序不会强迫一定得在语法上加以处理。

Exception的子类

Error子类

 参考:Java学习指南

posted on 2019-07-20 16:46  blouson  阅读(185)  评论(0编辑  收藏  举报