1.概述
2.JVM的默认处理方案
如果程序出现了问题,我们没做任何处理,最终JVM会做默认的处理:
- 把异常的名称,异常原因即异常出现的位置等信息输出在控制台
-
3.异常处理
如果程序出现异常,需要我们自己处理,不让它直接停止运行还能往下走,有一下两种方法
try…catch…
-
try…catch
Throwable的成员方法
Throwable是所有异常和错误的祖宗类,只要属于这个体系的,都可以使用它的成员方法
这三个方法从上到下输出的错误提示越来越全面,因此一般使用最后那个方法
三种方法的调用:
编译时异常和运行时异常的区别
Java中的异常被分为两大类:编译时异常和运行时异常,也被称为受检异常和非受检异常
所有的RuntimeException类及其子类被称为运行时异常,其他的异常都是编译时异常 编译时异常:必须显示处理 ,否则程序就会发生错误,无法通过编译
- 运行时异常:无法显示处理,也可以和编译时异常一样处理
throws异常处理
有时候可能出现的异常处理不了,此时使用throws
格式:
throws 异常类名;
注意:跟在方法括号后面
意义:并不能处理异常,只是抛出异常,把异常甩给别人,叫别人好处理
编译时异常必须要进行处理,有两种发方案:try…catch…或throws(谁调用谁处理)
自定义异常
即自己定义的类 继承 Exception或RuntimeException,使其称为异常的一员
格式:
public class 异常类名 extends Exception{
无参构造
带参构造
}