4.1异常概述
在运行时出现的意外错误 称为“异常”。
对异常的处理机制也成为判断一种语言是否成熟的标准。好的异常处理机制会使程序员更容易写出健壮的代码,防止代码中的bug的蔓延。
Java中的异常可以分为两种:
错误:一般指与虚拟机相关的问题,这些错误无法恢复或捕获,将导致应用程序中断;
异常:因程序编码错误或外在因素导致的问题,这些问题能够被系统捕获并进行处理,从而避免应用程序非正常中断。
Java提供的异常处理机制有两种:
(1)使用try..catch捕获异常:将可能产生异常的代码放在try语句中进行隔离,如果遇到异常,程序会停止执行try块的代码,跳到catch块中进行处理。、
(2)使用throws声明抛出异常:当前方法不知道如何处理所出现的异常,该异常应由上一级调用者进行处理,可在定义该方法时使用throws声明跑出异常。
4.2捕获异常
1.Finally
在java异常处理机制中,提供了finally块,可以将回收带,代码放入此块中,不管try块中的代码是否出现异常,也不管哪一个catch块被执行,甚至在try块或catch块中执行了return语句,finally块都会被执行。
4.3抛出异常
Java中抛出异常可以使用throws或throws关键字:
(1)使用throw抛出一个异常对象:当程序出现异常时,系统会自动抛出异常,除此之外,java也允许程序使用代码自行抛出异常,自行抛出异常使用throw语句完成;
(2)使用throws声明抛出一个异常序列:throws只能在定义方法时使用。当定义的方法不知道如何处理所出现的异常,而该异常应由上一级调用者进行处理,可在定义该方法时使用throws声明抛出异常。
4.4自定义异常
1.自定义异常:
class 异常类名 extends Exception
{
public 异常类名(String msg)
{
super(msg);
}
}
2.标识可能抛出的异常:
throws 异常类名1,异常类名2
3.捕获异常:
try{}
catch(异常类名 y){}
catch(异常类名 y){}