一、异常综述
1、什么是异常?
异常指的是异常事件,程序运行时,有很多情况会导致异常事件发生,比如:想打开的文件不 存在、操作数超出预定范围、访问的数据库打不开等。所以,综上所述,异常是一个在程序执 行期间发生的事件,它中断了正在执行的程序的正常指令流。
2、Java异常机制
2.1、Java提供异常机制有什么用?
java语言是很完善的,提供了异常的处理方式,程序执行过程中出现了不正常情况, java 把该异常信息打印输出到控制台,供程序员参考。程序员看到异常信息之后,可以对程序进 行修改,让程序更加的健壮。
2.2、Java中的异常分为三类:错误类、运行时异常类、编译时异常类。
2.3、Java提供了两种处理异常的机制:捕获异常和声明抛出异常。
2.3.1、捕获异常:当方法抛出异常后,运行时系统就会沿着方法的调用栈逐层回溯,去 查找能处理该异常的异常处理程序,这一过程称为捕获异常。
执行顺序:try代码块中的语句发生异常时,程序就会调转到catch代码块中执行,执行完之后会继 续执行catch代码块后的代码。
2.3.2、声明抛出异常:如果一个方法不知道如何处理出现的异常,就可以在声明该方法 时声明抛弃该异常。
2.3.3、关于finally语句块
完整的异常处理语句一定要包含finally语句,无论程序中是否有异常发生,并且无论 try....catch是否顺利执行完成,都会执行finally语句。
有4种情况,finally语句块不会被执行:
1、在finally语句中块发生异常。
2、在前面的代码块中使用了System.exit()退出程序。
3、程序所在的线程死亡。
4、关闭CPU。
3、自定义异常类
如果Java语言中提供的异常类不能满足程序设计的需求,我们就可以设计自己的异常类型。从Java异常类的结构层次可以看出,异常的公共父类是Throwable。所以用户自己定义的异常类型必须是Throwable的直接或者间接子类,Java自定义异常类型以Exception为直接父类。具体语法格式如下:class A extends Exception{.....}。