8.2异常的分类
类型 | 定义 | 举例 |
Error | 将java虚拟机生成并抛出 | ①动态链接失败 ②虚拟机错误 |
RuntimeException | 编程错误 | ①错误转型 ②数组越界存取 ③空指针访问 |
非RuntimeException的Exception | 不可预知的因素 |
8.3创建异常类型
class MyException extends Exception{...}
8.4 throw
定义:引发一个异常对象
throw子句:使方法或构造器的调用者知道,调用可能返回正常结果,也可能得到异常结果,只有在方法中未被捕获的异常才必须列出
public void replaceValue(String name,Object newValue)
throws NoSuchAttributeException
{
Attr attr=find(name);
if(attr == null)
throw new NoSuchAttributeException(name);
attr.setValue(new Value);
}
8.6 try\catch\finally
finally子句可用来对break、continue、return进行清理