`
java-admin
  • 浏览: 1367042 次
  • 性别: Icon_minigender_1
  • 来自: 陕西.西安
社区版块
存档分类
最新评论

ruby 中的异常处理

 
阅读更多

http://www.cnblogs.com/watir/archive/2009/03/28/1423951.html

 

 

 

 

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

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

 

begin
    file = open(name)
    i = 0
    file.read.each_line{|line| puts "#{i+=1}.#{line}" }
rescue
     puts "error:#{$!} info "
     puts "the error at:#{$@}"
ensure
   file.close
end

 

上面的小程序读入一个指定的文件并加入行号进行输出,当产生错误时会输出错误信息以及提示,可以故意输入一个不存在的文件名。
其实
begin相当于java 的try
rescue相当于java的catch
ensure相当于java 的 finaly
raise相当于java 的 throw
异常类的结构为:
分享到:
评论

相关推荐

    Ruby-NestyRuby的嵌套异常

    Nesty - Ruby的嵌套异常

    ruby-snmp, SNMP ( 简单网络管理协议)的ruby 实现.zip

    ruby-snmp, SNMP ( 简单网络管理协议)的ruby 实现 用于 ruby的 SNMP库摘要这里库... 它在纯 ruby 中实现,因此不依赖于的外部库( 如 ) 。 你可以在 ruby 可以运行的任何地方运行这里库。有关更多信息,请参见 snmplib.r

    Ruby常见面试题.pdf

    请说明在Ruby中的异常处理机制。 8. Ruby中的数组(Array)和哈希(Hash)有什么区别?请说明在Ruby中数组和哈希的不同特点。 9. 什么是Ruby中的块(Block)和迭代器(Iterator)?请简要介绍在Ruby中块和迭代器的...

    ruby 异常处理:ensure

    但一个方法可能从多个地方返回,或者因为异常我们的清理代码被意外跳过. begin file = open(“/tmp/some_file”, “w”) # … write to the file … file.close end 上面,如果在我们写文件的时候发生异常,...

    Ruby-Rails的异常通知插件

    Exception Notification - Rails的异常通知插件。能够在Rack/Rails应用发生错误时发送通知。

    ruby 异常处理:rescue

    ruby> file = open(“some_file”) ERR: (eval):1:in `open’: No such file or directory – some_file 一个健壮的程序会合理并漂亮的处理这些问题.面对那些异常是一件讨人厌的工作.C程序员被要求...

    Ruby中的异常处理代码编写示例

    主要介绍了Ruby中的异常处理代码编写示例,作者对异常处理的方式给出了一些比较通用的建议,需要的朋友可以参考下

    详解Ruby中的异常

    我们可以在 begin/end 块中附上可能抛出异常的代码,并使用 rescue 子句告诉 Ruby 完美要处理的异常类型。 语法 begin # - rescue OneTypeOfException # - rescue AnotherTypeOfException # - else # 其他异常

    Ruby经典系列: exceptional ruby

    Ruby经典系列: exceptional ruby 教你在ruby代码中如何处理异常

    ruby教程.rar

    控制结构/异常处理 方法调用 类/方法的定义 标准库 内部函数 内部变量 内部常数 内部类/模块/异常类 附加库 Ruby变更记录 ruby 1.6 特性 ruby 1.7 特性 ruby 1.8 特性 1.6.8到1.8.0的变更点(总结) ...

    【09-异常处理】

    •异常处理已经成为衡量一门语言是否成熟的标准之一,目前的主流编程语言如C++、C#、Ruby、 Python等,大都提供了异常处理机制。增加了异常处理机制后的程序有更好的容错性,更加健壮。 传统错误处理的缺陷 ...

    免费的一本好书关于Ruby学习

    5. **异常处理**:Ruby 支持异常处理机制,开发者可以轻松地捕获和处理异常,保证程序的稳定性和可靠性。 6. **丰富的标准库**:Ruby 标准库提供了大量内置模块和库,涵盖了网络编程、文件操作、数据处理等各个领域...

    Ruby编程语言

     5.6异常和异常处理154  5.7BEGIN和END165  5.8线程、纤程和连续体166  第6章方法、PROC、LAMBDA和闭包175  6.1定义简单方法177  6.2方法名180  6.3方法和圆括号183  6.4方法参数185  6.5PROC和LAMBDA192 ...

    ruby学习资料大全,很全很丰富

    Ruby是"一种用于迅速和简便的面向对象编程的解释性脚本语言";这意味着什么? 解释性脚本语言: 有直接呼叫系统调用的能力 强大的字符串操作和正则表达式 ...开发中快速回馈 ...异常处理模式 动态装载 线程

    rails_exception_handler:Ruby on Rails的异常处理

    您可以将此异常处理程序挂接到所有Rails应用程序中,并将异常报告收集到一个位置。 异常处理程序仅包含后端,您必须创建自己的前端才能查看和管理错误报告。 Rails Engine的管理界面是界面的简单添加,或用作构建您...

    ruby语法基础教程

    §9.1 异常处理 64 §9.2 定义异常类 68 §9.3 catch和throw 68 第十章 多任务处理 69 §10.1 多线程处理 69 §10.1.1 线程创建 69 §10.1.2 线程操作 70 §10.1.3 线程和异常 71 §10.1.4 线程调度 73 §10.1.5 ...

    Ruby学习笔记(学习心得)

    Ruby学习笔记 01 类的属性与方法 02 访问控制 03 Container(Array/Hash) 04 Iterator 05 简单数据类型 06 范围 07 方法 08 条件控制 09 异常处理

    非常好的Ruby中文版项目资源,分享出来.zip

    这是 Ruby User’s Guide的简体中文版本:Ruby用户指南。 本指南基于Mark Slagell的英文译本翻译而来,指南最初的版本由Ruby的发明者Yukihiro Matsumoto用...异常处理:rescue 异常处理:ensure 访问器 对象初始化

Global site tag (gtag.js) - Google Analytics