0
的隱式轉換,我有一些非常基本的代碼:類型錯誤:水豚:: ElementNotFound成字符串
def select_author_name(comment)
selector = 'span.name'
comment.find(selector).text
rescue Capybara::ElementNotFound => e
Rails.logger.warn('Could not get author_name: ' + e)
puts e
''
end
當我運行這段代碼,併成功救出Capybara::ElementNotFound
錯誤將其與下面的錯誤炸燬:
TypeError: no implicit conversion of Capybara::ElementNotFound into String
奇怪的是,puts e
行會打印出錯誤沒有問題。
我的問題是這樣的:
爲什麼會串聯企圖引起問題的打印e
時,我可以成功地與puts
打印出來e
?他們兩個都不會導致.to_s
在封面下的通話?
這說明to_s'和'to_str''之間的區別:http://marcgg.com/blog/2017/ 01/23/ruby-to-s-to-str /。謝謝你的回答! –