异常
1.异常结构
[ begin]
...
rescue
[retry]
...
[ensure]
...
end
2.常见错误
- 数据错误
- 系统错误
- 程序缺陷
3.常见错误处理方式
- 消除导致错误的原因
- 忽略错误并继续执行
- 恢复到错误发生前的状态
- 重试
- 结束程序
- 输入数据
- 将错误信息通知给调用者
4.异常对象
$! : 代表最后发生的例外对象
$@ : 代表最后发生的例外的位置信息
例外对象的方法: class,message,backtrace
5.在rescue下面的retry会把相同的变量值在begin下重新执行一次。
6.方法中的begin和end可以省略
7.
8.指定要捕获的异常,越特殊,越具体的越要放在前面。
9.异常的内建结构
如果没有指定会捕获StandardError与其子类(异常捕获会捕获本类与其子类),所以一般让自定义例外继承自StandardError
10.引发例外的4种形式
- raise 消息 :引发RuntimeError “消息”作为其参数
- raise 例外类
- railse 例外类 消息
- raise (一般是在rescue中继续抛出,如果再rescue外部则引发RuntimeError)
11. catch到指定的throw以后,catch的语句块结束