ruby - 了解语句 "rescue ErrorType1, ErrorType2 => ex"的语法

标签 ruby

快速查询: Java 程序员将如何理解以下 Ruby 语句:

rescue ErrorType1, ErrorType2 => ex

也就是说,我想明确地在它周围加上方括号/圆括号。 那么,是吗?

rescue(ErrorType1, {ErrorType2 => ex})

或者,

rescue({[ErrorType1, ErrorType2] => ex})

或者,别的……

最佳答案

关于语法:

rescue ErrorType1, ErrorType2 => ex

请注意以下事项:

  1. 不涉及哈希
  2. 'rescue' 不是一个方法,你甚至不能把它写成 rescue(ErrorType1, ErrorType2 => ex)
  3. Ruby 将引发的关联异常的引用放入 全局变量 $!.
  4. 在上面的形式中,'rescue' 采用了一个特殊参数,其中 你给出一个局部变量的名称来接收匹配的 异常,它比使用 $! 更具可读性。

现在,再看看语法...

关于ruby - 了解语句 "rescue ErrorType1, ErrorType2 => ex"的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19196777/

相关文章:

ruby - ruby sinatra 中的补丁方法

ruby-on-rails - 在 rails 中使用 MIME 类型渲染文件

javascript - 如何使用 react-rails gem 预渲染命名空间的 React 组件?

ruby - 我如何判断 Tumblr OAuth 凭据是否有效?

ruby - 将字符串转换为实际的 UTF-8 字符

ruby - 我如何使用 Nokogiri 和 Ruby 从带有嵌套表格的 HTML 中抓取值?

ruby - 使用 activerecord-mysql-adapter 安装 Redmine

ruby-on-rails - 如何在 Ruby on Rails 中用换行符替换空格?

ruby-on-rails - 我应该逃避我的 rails find 的条件吗?

Ruby:从字符串生成新的正则表达式