通过异常处理错误
概念
- 不必在每个地方进行检查,异常机制保证能捕捉错误,只需要在异常处理程序中处理异常就可以了
基本异常
- 抛出异常,从当前环境中跳出,把问题提交给上一级环境
- 异常允许我们强制程序停止运行,并告诉我们出了什么问题,或者强制程序处理问题,并返回到稳定状态
捕获异常
- 在方法内抛出异常会导致方法在抛出的过程中结束,要是不希望结束方法,可以在try,catch
- 把try放到循环里,直到满意为止
异常说明
- 异常说明属于方法声明的一部分
捕获所有的异常
- getclass()返回一个表示此对象类型的对象,然后用getName()查询这个class对象包含包信息的名称,或者只产生类名的getSimpleName()方法
Java标准异常
- Throwable表示任何可以作为一场被抛出的类
- Error表示编译时和系统错误,不用关心
- Exception是可以被抛出的基本类型,要处理这个
使用finally进行清理
- 无论异常是否抛出,finally子句总能执行
- 用finally恢复内存外资源的初始状态
- 涉及break和continue的时候,finally字句也会执行
异常限制
- 覆盖方法的时候只能抛出在积累性异常说明里列出的那些异常
- 异常限制对构造器无效
- 派生类构造器不能捕获基类构造器抛出的异常
构造器
- 在创建一个需要清理的对象之后,立刻进入一个try-finally语句