异常处理分类

我们在写代码的时候代码可能会报错,或者想抛异常的情况是经常会发生的,这种情况都叫做异常处理,异常处理机制依赖于异常处理器。

所有的异常的父类是Throwable,它的子类分为error和Exception。error是报错,是程序运行时操作系统内部错误或者资源耗尽导致的,例如OOM,内存异常。而Exception分为受检时异常(SQLException,ClassNotFund,IOException等)和非受检异常(数组越界,空指针,类型装换异常等)。如图:

异常处理分类_第1张图片

发生异常之后,处理方式主要是两种,一是往外抛异常,二是方法内部捕获异常。

抛出异常的方法有 throw和throws,他们的区别是:

1. throws 用在函数上,后面跟的是异常类; throw 用在函数内,后面跟的
是异常对象。
2. throws 用来声明异常,让调用者只知道该功能可能出现的问题,可以给出预先的处理方
式;throw 抛出具体的问题对象,执行到 throw,功能就已经结束了。
3. throws 表示出现异常的一种可能性,并不一定会发生这些异常;throw 则是抛出了异常,
执行 throw 则一定抛出了某种异常对象

你可能感兴趣的:(java基础,java,开发语言,后端,面试)