1、异常
Java错误主要包括编译错误和运行错误。编译错误主要是语法错误,运行错误分为致命错和非致命错。非致命错误通过修正后程序仍然可以继续执行,通常称为异常(Exception)。异常又称为例外,它是某种异常类的对象。
对待异常通常不是简单的结束程序,而是转去执行某段特殊的代码来处理这个异常,并设法恢复程序的继续执行。
2、异常处理
(1)捕获异常
在程序中使用try-catch-finally语句可以捕获一个或多个异常。
try-catch-finally语句格式如下:
try
{<程序段>}
catch(<异常类名1><异常对象名1>)
{<异常处理代码1>}
catch(<异常类名2><异常对象名2>)
{<异常处理代码2>}
.
.
.
finally
{<最终异常处理代码>}
try语句
在try语句后边有一对花括号,括起一个程序段,该
程序段指出该语句后面的catch()方法所捕获的异常的范围。该段程序中,调用一个或多个可能产生异常的方法。
catch()方法
在try语句后面通常要跟有一个或多个catch()方法,用来处理try块内生成的异常事件。该方法只有一个参数:某异常类的对象。
finally语句
在try程序段中,一旦有一个被调用的方法产生异常事件,该方法其后的程序代码都将不被执行,而执行相应的catch()方法。如果定义了该语句,则不论try块中是否产生异常事件,也不论哪个catch()方法被执行,该语句后面的程序段总被执行的。因此,通常使用的finally语句的程序代码为该程序提供一个统一的出口。
(2)抛出异常
抛出异常方法不是将获取的异常在当前方法中处理,而是把异常抛出到调用该方法的方法中处理。为此在说明方法时应使用以下格式:
<访问权限修饰符><类型><方法名>(<参数表>)throws<异常列表>
在一般方法的说明后边加上关键词throws,该关键字后边的<异常
列表>中指出可能发生且不进行处理的所有异常列表,多个异常之间用逗号分隔。例如,
public void fun(int i) throws ArithmeticException,NumberFormatException;
如果一个方法中产生了异常事件,而该方法中又不去处理,则可将异常抛出给调用该方法的方法进行处理。
抛出异常的语句格式如下:
throws<异常名>;