`
fantaxy025025
  • 浏览: 1328202 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

Ruby_语法_begin_rescue_else_end_使用介绍

 
阅读更多

 

Ruby 语法 begin rescue else end 使用 介绍

 

 

不经过else的例子

begin
  1/0
rescue => e
  puts "in rescue  error is:#{e}"
else
  puts "in else"
end
 

经过else的例子

begin
  1/1
rescue => e
  puts "in rescue  error is:#{e}"
else
  puts "in else"
end

也就是说,预计可能会报错,如果没有报错,就会走else的语句

 

使用的地方:报错和不报错 都会做某些类似事情的时候

上面的例子不是很贴切,没有体现else的用法,可以把esle去掉。

看一个ruby源码的例子:

      x = Thread.current
      y = Thread.start {
        begin
          sleep sec
        rescue => e
          x.raise e
        else
          x.raise exception, "execution expired" if x.alive?
        end
      }
      yield sec

这里,waiting的时候,如果没有报错,也即是说没有异常的程序,表示时间到了,也要报错。

这样用的地方,就很合乎常理了。

 

。。。结束了。。。 END  EOF 

 

(
(
(

 

 

分享到:
评论

相关推荐

    ruby语法自整理

    - 使用`begin-rescue-else-ensure`块进行异常处理。`rescue`捕获特定类型的错误,`else`块在没有发生异常时执行,`ensure`块确保无论是否发生异常都会执行。 6. 类与对象 - Ruby是面向对象的语言,类定义以`class...

    ruby语法

    这篇博文链接()可能详细解释了Ruby的基本语法和特性,但由于没有实际内容,我将根据常见的Ruby语法知识进行阐述。 1. **变量**: Ruby有四种类型的变量:局部变量(`local`)、实例变量(`instance`)、类变量(`...

    Ruby基础语法使用方法全套讲解,风格讲解指南大全

    7. **异常处理**:Ruby的错误处理使用`begin..rescue..end`结构,可以捕获并处理运行时出现的异常。 8. **闭包与上下文**:Ruby的块、Proc和Lambda都是闭包,它们能记住定义时的环境,即上下文。这是实现函数式编程...

    Ruby语言教程对Ruby语法的总结展示Ruby语法的基本概念和用法.docx

    ### Ruby语言教程对Ruby语法的总结 #### 一、变量与数据类型 **特点:** - **动态类型:** Ruby是一种动态类型的语言,这意味着你无需为变量声明具体的数据类型。 - **变量命名规则:** 变量名必须以小写字母或...

    Prorammer ruby 语法截图

    以下是一些从书中的截图中可以提炼的重要Ruby语法知识点: 1. **变量** - `local变量`:以小写字母开头,如`x = 10`。 - `实例变量`:以`@`开头,如`@name = "John"`。 - `类变量`:以`@@`开头,用于整个类共享...

    ruby_with_head_first

    7. **异常处理**:Ruby中的`begin..rescue..else..ensure`结构用于处理异常,确保程序在遇到错误时能够优雅地恢复。 8. ** Blocks, Procs, 和 Lambdas**:这三种都是Ruby中的代码块,它们之间的主要区别在于它们的...

    intro_to_ruby_launch:启动学校的Ruby练习入门

    Ruby使用`begin/rescue/ensure/end`来处理异常。你可以自定义异常类,或者使用已有的如`StandardError`及其子类。 7. **元编程**: Ruby的元编程能力非常强大,允许在运行时修改类和对象。`class_eval`和`...

    ruby_practice_bigginer:Ruby红入门

    7. **异常处理**:Ruby使用`begin-rescue-end`来捕获和处理异常。例如,`begin`开始一个异常块,`rescue`捕获错误,`end`结束。这有助于编写健壮的代码,防止程序因意外情况崩溃。 8. **Gem包管理**:Ruby使用Gem来...

    ruby_crash_week

    7. **异常处理**:Ruby使用`begin-rescue-end`块来捕获和处理运行时错误。这有助于编写健壮的代码,确保程序在遇到错误时不会突然崩溃。 8. **标准库与Gem**:Ruby拥有丰富的标准库,提供各种功能。此外,Ruby社区...

    Ruby语言基础语法教程

    - **异常处理**:使用 `begin...rescue...end` 结构来处理异常。 #### 八、进阶学习资源 - **官方文档**:Ruby官方网站提供了详细的文档和技术规范。 - **社区与论坛**:参与Ruby社区和论坛可以帮助解决实际问题。...

    DIC_Ruby_janken

    Ruby的`begin-rescue-end`块可以用来捕获并处理异常。 7. **控制流**:游戏可能会有多个回合,需要一个循环结构来控制游戏的进行,直到满足某个结束条件(比如玩家选择退出或者达到一定回合数)。 8. **输出反馈**...

    ruby 一些简单的例子介绍和代码操作

    此外,Ruby的异常处理使用`begin/rescue/ensure/end`结构,可以捕获和处理程序运行时可能出现的错误。例如: ```ruby begin raise "An error occurred" rescue => e puts "Error: #{e.message}" end ``` 以上只...

    ruby_practice_with_cherrybook

    - 控制结构:包括条件语句(`if/else`、`case`)、循环(`for`、`while`、`until`、`times`)和异常处理(`begin/rescue/ensure/end`)。 2. **Ruby的Gem生态** - Gem是Ruby的包管理器,用于安装和管理各种库和...

    ruby语法基础教程.pdf

    - **异常处理:** 使用`begin...rescue...ensure`结构来捕获和处理异常。 - **定义异常类:** 可以自定义异常类来抛出特定类型的异常。 - **catch和throw:** 提供了一种简单的异常抛出和捕获机制。 #### 十、多...

    ruby_quest

    异常处理是任何编程语言的重要部分,Ruby使用`begin..rescue..else..ensure`结构来捕获和处理错误。`ensure`块确保即使在异常发生时,某些清理代码也会执行。 Ruby还强调了代码的可读性和DRY(Don't Repeat ...

    ruby使用文档

    - 使用`begin`、`rescue`、`else`、`ensure`进行异常处理。 - 异常类如`StandardError`、`RuntimeError`等,可以通过`raise`抛出异常。 7. **元编程**: - Ruby的元编程能力强大,可以在运行时修改类和对象的...

    ruby初学者教程(对初学者很有帮助)

    Ruby使用`begin...rescue...end`块来捕获和处理异常。 ```ruby begin raise "An error occurred!" rescue => e puts e.message end ``` **9.2 定义异常类** 可以自定义异常类来抛出自定义错误。 ```ruby class...

    ruby中文教程,pdf格式,含.rb源代码

    4. **异常处理**:理解Ruby中的异常(Exception)和错误处理,如begin-rescue-end结构。 5. **文件和I/O操作**:如何读写文件,使用标准输入/输出和重定向,以及流(IO Stream)的概念。 6. **正则表达式**:Ruby...

    Best of Ruby Quiz

    7. **异常处理**:Ruby中的`begin..rescue..else..ensure`结构用于异常处理,书中可能会有相关问题,教你如何优雅地处理错误。 8. **Gem生态系统**:Ruby的库管理工具Gem提供了丰富的第三方库,如Nokogiri(XML处理...

Global site tag (gtag.js) - Google Analytics