`
java-admin
  • 浏览: 1384564 次
  • 性别: 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的异常处理:优雅应对错误的艺术

    接下来,我们将深入探讨 Ruby 中的异常处理机制,并通过具体的代码示例来理解其工作原理。 #### 异常处理概述 在 Ruby 中,异常处理主要通过一组关键字实现,包括 `begin`、`rescue`、`else` 和 `ensure`。这些...

    Ruby-NestyRuby的嵌套异常

    Ruby-NestyRuby的嵌套异常是关于Ruby...了解并熟练使用Nesty库可以提升你的Ruby异常处理能力,使代码更加健壮和易于维护。在实际开发中,合理利用嵌套异常处理能够帮助我们更有效地定位和解决问题,提高程序的稳定性。

    ruby中英文api

    它可能包括了Ruby的基础概念,如变量、常量、数据类型、控制流、类和对象的创建、继承、模块的使用、异常处理、文件和I/O操作等内容。同时,也可能涵盖了Ruby的高级特性,如元编程、符号、 Proc对象、块和闭包等。 ...

    ruby 中文文档 必备资料

    异常处理是任何编程语言中都必不可少的部分。Ruby使用begin/rescue/ensure语句来捕获和处理错误。在Ruby中,异常类是继承自`StandardError`的,你可以自定义异常类来处理特定类型的错误。 Ruby on Rails是Ruby最...

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

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

    Ruby-Rails的异常通知插件

    在Ruby on Rails开发中,错误处理是至关重要的一个环节,因为它可以帮助开发者及时发现并修复问题,从而保持应用程序的稳定运行。"Ruby-Rails的异常通知插件"正是为了解决这个问题而诞生的。Exception Notification...

    ruby中文手册 chm

    此外,还会涉及异常处理、文件操作、正则表达式和字符串处理等内容,这些都是Ruby编程的基础。 2. **Ruby参考手册**: 这部分通常是对Ruby内置类库、方法、语法的详细参考,涵盖了标准库的所有模块和类,比如Array...

    ruby中文文档中心资料

    文档通常会涵盖Ruby的基础知识,例如变量、数据类型(如字符串、整数、浮点数、布尔值和数组)、流程控制(条件语句、循环)、函数、类与对象、模块、继承、混合、异常处理等。此外,它可能还会涉及Ruby的元编程特性...

    Ruby经典系列: exceptional ruby

    Ruby异常处理策略还包括在出现故障时如何恰当地结束程序,以及在某些情况下是否可以使用异常之外的其他机制来处理错误。例如,可以使用多返回值、输出参数和调用者提供的回退策略等方法来替代传统的异常处理方式。 ...

    Ruby-Money一个Ruby库来处理货币和货币转换

    在Ruby社区中,它被视为一个非常实用且功能丰富的库,能够帮助开发者以一种更规范和安全的方式处理货币。 Money库的核心特性包括: 1. **货币对象**:Money库创建了一个名为`Money`的类,用于表示特定金额和货币...

    Ruby-HttpClient在Ruby中提供类似libwwwperlLWP的功能

    10. **错误处理**:当发生网络错误或其他异常时,HttpClient会抛出相应的异常,方便开发者进行错误处理。 HttpClient库的使用方法通常包括以下步骤: 1. 引入HttpClient库:`require 'httpclient'` 2. 创建...

    ruby中文 文档

    4. **异常处理**:Ruby提供了异常处理机制,通过`begin-rescue-end`块来捕获和处理错误。 5. **字符串和数组**:这两种数据结构在Ruby中非常常用,文档会解释它们的操作和方法,如拼接、查找、替换等。 6. **哈希...

    ruby语言帮助文档(简体中文)

    9. **异常处理**:Ruby使用`begin/rescue/ensure/else`来处理程序中的错误和异常。`rescue`用于捕获并处理异常,`ensure`保证无论是否发生异常,某些代码都会被执行。 10. **并发编程**:Ruby支持线程和进程,但...

    Ruby-ParallelRuby让并行处理简单和快速

    "Parallel Ruby"库正是为此目的而设计,它使得在Ruby中实现并行处理变得简单且高效。 Parallel Ruby库是一个强大的工具,允许开发者在Ruby程序中并行运行任务,从而显著提升性能。这个库的核心理念是将工作分解成可...

    Ruby中文教程及相关源代码

    5. **异常处理**:异常类和如何通过begin/rescue/ensure语句进行错误处理。 6. **元编程**:Ruby的元编程能力是其特色之一,允许在运行时修改代码,包括类、方法和变量的动态创建和修改。 7. **标准库和Gem**:...

    ruby中文文档

    通过查阅这个文档,你可以深入学习Ruby的各个部分,包括类的定义、模块的使用、异常处理、文件和目录操作,以及如何使用Ruby进行网络编程和数据库交互等。同时,文档可能还会包含示例代码和实践指导,以帮助你更好地...

    Ruby-Watir在Ruby中Web应用程序测试

    8. **异常处理**:在编写测试脚本时,要考虑到可能出现的错误情况,使用Ruby的异常处理机制(如`begin-rescue-end`)捕获并处理异常,确保测试的稳定性和可靠性。 9. **持续集成**:为了实现持续集成,你可以将...

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

    ### Ruby中的异常处理详解 #### 一、引言 异常处理是编程语言中不可或缺的一部分,它可以帮助开发者优雅地处理程序运行时可能出现的各种错误情况。在Ruby这种动态类型的脚本语言中,异常处理更是显得尤为重要。...

    Ruby语言中文教程.rar

    异常处理在Ruby中通过`begin..rescue..end`结构完成,可以捕获并处理程序运行时可能出现的错误。Ruby还提供了丰富的内建模块,如`Math`模块包含数学函数,`File`模块处理文件操作,`Kernel`模块包含全局函数。 Ruby...

    Ruby中文参考手册

    5. **异常处理**:Ruby的异常处理使用begin/rescue/else/ensure结构,可以帮助开发者捕获并处理运行时错误。 6. **内建库和框架**:Ruby 1.8.1包含了丰富的标准库,如File、Net、Time等,以及Rails框架的基础,对于...

Global site tag (gtag.js) - Google Analytics