异常是指程序运行期间出现的问题。在写程序时,确实可以写代码测试程序是否正确执行,如果没有执行,则执行错误处理。尽管这种形式的错误处理能够起到作用,但程序逻辑与错误处理一起混用,会使得程序难以阅读‘修改。如果潜在的问题极少发生,则混用程序和错误处理逻辑讲降低程序的性能。异常处理使程序员能够从程序执行的主线中删除错误处理代码。没有异常发生时,异常处理代码仅会增加极少或不增加开销。因此,实现异常处理的程序在执行效率上要高于错误处理代码与程序逻辑混用的程序。
try块包含可能产生异常的语句以及异常发生时不应执行的语句。try块后必须至少紧跟一条catch子句(也称为异常处理函数)或一条finally子句。每条catch子句在圆括号中指定一个异常参数,用于标识该处理函数能够处理的异常类型。catch子句通过异常参数的名称与异常捕获对象进行交互。最后一个catch之后是一个可选finally子句,无论异常是否发生,都会执行该子句所提供的代码。finally子句是一个理想的释放资源,从而防止“资源泄漏”的地方。在方法声明中,throws子句指定该方法所抛出的异常。该子句位于方法参数列表之后,具体方法之前。如
public int 函数名()
throws 异常
{
}
throws子句包含一个由逗号分开的异常列表,如果在方法执行期间出现问题,则该方法将抛出列表中的异常。