Ruby异常处理结构特点介绍

Ruby语言虽然是一款比较简单应用的语言,但是在实际编写中同样还会出现各种各样的错误警告等。这就用到了异常处理。下面我们就来看看Ruby异常处理结构。

Ruby异常处理结构代码示例:

  1. begin #开始  
  2. raise.. #抛出异常  
  3. rescue [ExceptionType = 
    StandardException
    #捕获指定类型的异常 缺省值是StandardException  
  4. $! #表示异常信息  
  5. $@ #表示异常出现的代码位置  
  6. else #其余异常  
  7. ..  
  8. ensure #不管有没有异常,进入该代码块  
  9. end #结束 

可以结合$!错误原因,和$@错误位置做一个错误捕获并提示的小程序,比如:

begin  


puts   



puts "file: #{name = ARGV.shift}"  




file = open(name)  




i = 0 



file.read.each_line
{|line| puts "#{i+=1}.#{line}" }  


rescue  


puts "error:#{$!} at:#{$@}"  


ensure  


file.close  


end  

上面的小程序读入一个指定的文件并加入行号进行输出,当产生错误时会输出错误信息以及提示,可以故意输入一个不存在的文件名。 其实 begin相当于c#的try, rescue相当于c#的catch, ensure相当于c#的 finaly, raise相当于c#的 throw 。

Ruby异常处理结构为:

相关推荐