【发布时间】:2013-10-07 12:15:08
【问题描述】:
如果您尝试在 Ruby 中调用 nil 对象上的方法,则会出现 NoMethodError 异常并显示以下消息:
"undefined method ‘...’ for nil:NilClass"
但是,Rails 中有一个 try 方法,如果它被发送到 nil 对象,它只会返回 nil:
require 'rubygems'
require 'active_support/all'
nil.try(:nonexisting_method) # no NoMethodError exception anymore
那么try 如何在内部工作以防止出现该异常?
【问题讨论】:
-
"如果您尝试调用
nil对象上的方法...出现异常" => 错误。 “如果您尝试在nil上调用 undefined forNilClass方法...出现异常” => 正确。
标签: ruby-on-rails ruby activesupport