Ruby异常处理结构特点介绍

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

在赣县等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站设计、成都做网站 网站设计制作按需网站建设,公司网站建设,企业网站建设,成都品牌网站建设,全网营销推广,外贸网站制作,赣县网站建设费用合理。

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

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

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

 
 
 
  1. begin
  2. puts 
  3. puts "file: #{name = ARGV.shift}"
  4. file = open(name)
  5. i = 0
  6. file.read.each_line
    {|line| puts "#{i+=1}.#{line}" }
  7. rescue
  8. puts "error:#{$!} at:#{$@}"
  9. ensure
  10. file.close
  11. end

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

Ruby异常处理结构为:

Object
Exception
(Interrupt) (ruby 1.7 特性 version 1.6以前的位置)
NoMemoryError
scrīptError
LoadError
(NameError) (ruby 1.7 特性 version 1.6以前的位置)
NotImplementedError
SyntaxError
SignalException
Interrupt (ruby 1.7 特性)
StandardError
ArgumentError
IndexError
KeyError (ruby 1.9 特性)
IOError
EOFError
LocalJumpError
NameError (ruby 1.7 特性)
NoMethodError (ruby 1.7 特性)
RangeError
FloatDomainError
RegexpError
RuntimeError
SecurityError
SystemCallError
Errno::EXXX
SystemStackError
ThreadError
TypeError
ZeroDivisionError
SystemExit
fatal

以上就是对Ruby异常处理结构的详细解读。

文章题目:Ruby异常处理结构特点介绍
本文路径:http://www.shufengxianlan.com/qtweb/news41/43591.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联