异常是导致程序运行中断的一种指令流,如果不对异常进行处理,可能导致程序中断,造成损失,所以必须考虑好异常的发生及处理。
一.异常概述
在没有异常处理的语言中,必须使用判断语句来捕捉错误,但这样会程序运行效率的降低。在Java中,应该多利用异常机制以提高程序的稳定性和效率。异常的定义格式为:
try{
//有可能出现异常的语句
}catch(异常类 异常对象){
//编写异常的处理语句
}catch(异常类 异常对象){
//编写异常的处理语句
}catch(异常类 异常对象){
//编写异常的处理语句
}.....
finally{
//一定会运行到的代码
}
finally块是可以省略的。
在Java中,有二个类最常用,即Error和Exception,区别如下:
在Java中所有捕获范围小的异常必须放在捕获范围大的异常之前,否则就会报错。一般在开发时,不管什么异常,都可以使用Exception进行处理,这样比较方便。
在定义方法时可以使用throws关键字声明,表示此方法不处理异常,交给方法调用处处理。使用格式如下:
不管是否有异常,都必须在方法调用处处理。
throw关键字直接抛出一个异常,抛出时直接抛出异常类的实例化对象。一般而言不会单独使用。
finally作为异常类的统一出口,所以在此语句块中尽量不要出现return或throw这样的语句,避免出现不必要的问题。
Exception和RuntimeException:
RuntimeException是Exception的子类。它们区别如下:
Java1.4之后,Java增加了断言。断言就是肯定某一个返回值的结果是正确的,如果最终结果的返回值是错误的,那么通过断言检查肯定会提示错误信息。定义格式如下: