异常

一、异常的分类

二、异常的介绍

1、异常的分类

  1. Error : 严重的系统错误,运行程序无法处理的错误(大多数错误与代码编写者执行的操作无关)。例如:硬件层面错误、JVM错误,内存不足。
  2. Exception :程序本身可以处理的异常,分为受检异常和非受检异常。

错误是程序本身无法处理的,异常是程序本身有能力处理。

2、受检异常和非受检异常的区别

  • 受检查的异常:在编译时被强制检查的异常称为"受检查的异常"。即在方法的声明中声明的异常。
  • 不受检查的异常:在方法的声明中没有声明,但在方法的运行过程中发生的各种异常被称为"不被检查的异常"。这种异常是错误,会被自动捕获。

3、非受检异常的介绍

RuntimeException:非受检异常,代表API设计者实现某个方法时,某些条件成立时会引发错误。(比如除法运算,如果除数为0,就会出现异常),而且认为API客户端应该在调用方法前做好检查,以避免发生错误。编译程序不会强制一定的在语法上进行处理。

在方法运行的过程中发生的异常

public int divisionMethod(int a,int b){
        return a/b;
    }

如上:调用方法的客户端应该首先检查除数是否为0,如果不为0,才能调用上述方法。否则,将要抛出异常。

这些异常都是有程序的逻辑错误产生的,所以应该从程序的逻辑角度进行解决。

4、受检异常

除了RuntimeException及其子类以外,其他的Exception类及其子类都属于可查异常。

在API设计者实现某方法时候,某些条件成立时,会引发错误,而且认为调用方法的客户端有能力处理错误,要求编译程序提醒客户端必须明确处理错误,不然不通过编译。API客户端无权选择处理不处理,必须无条件接受。

参考资料:

  1. 《Java JDK8 学习笔记》
posted @ 2016-08-21 16:59  LyJs  阅读(202)  评论(0编辑  收藏  举报