异常

 

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的语句块结束