tutorial - 如何在没有开始和结束块的情况下使用Ruby进行救援




ruby是什么 (3)

“def”方法可以作为“开始”语句:

def foo
  ...
rescue
  ...
end

我知道有一个开始营救结束的标准技术

一个人如何使用自己的救援块。

它是如何工作的以及它如何知道哪些代码正在被监视?


你也可以内联救援:

1 + "str" rescue "EXCEPTION!"

将打印出“EXCEPTION!” 因为'字符串不能强制进入Fixnum'


我在ActiveRecord验证中使用了很多def / rescue组合:

def create
   @person = Person.new(params[:person])
   @person.save!
   redirect_to @person
rescue ActiveRecord::RecordInvalid
   render :action => :new
end

我认为这是非常精简的代码!





ruby