6.1 异常
6.1.1 基本概念
Java将异常设计为一种类(class),程序出现错误时,一个该类的异常对象被抛出(throw)。
Java定义了java/lang.Throwable类,所有异常类都是Throwable类的子类。
6.1.2 异常语法
Java要求把可能产生异常的代码放在try块里,
异常发生时,停止try块的代码执行,转到异常处理的catch块中;
最后,finally中的代码总是会执行。finally是可选的。
try{
//可能产生异常的代码
}
catch(某种异常) {
//处理异常}
catch(异常){...
}
finally{//清理现场
}
6.1.3 finally
finally块总会执行,因此常常用来释放代码用到的资源。
6.1.4 throw语句
try-catch-finally语句是异常处理的主要形式,除此之外还有throw语句,用于错误发生时主动抛出异常。
throw的语法:
throw expression
6.1.5 throws语句
通过throws来知道一个方法可能出现的异常。
public static void someMethod() throws Exception{
}
6.1.6 throws语句和方法重写
子类重写了父类的方法,子类中throws语句声明的异常类型必须和父类中被重写的方法的throws异常类型相同。
6.2断言(Assertion)
6.2.1 断言概述
断言是Java用来检查一个应该始终是真的条件,如果断言发现是假的,一个AssertionError异常就会被抛出。
6.2.2 断言语法:
assert 逻辑表达式[:细节信息];
注意:如果用的是Eclipse,assert默认是关闭的。
6.2.3 断言使用原则