我想了解Ruby中的異常,但我有點困惑。我使用的教程說,如果發生異常,這不符合任何經搶救聲明中確定的例外,可以用一個「其他」抓住它:Ruby異常 - 爲什麼「其他」?
begin
# -
rescue OneTypeOfException
# -
rescue AnotherTypeOfException
# -
else
# Other exceptions
ensure
# Always will be executed
end
不過,我也看到了後面
begin
file = open("/unexistant_file")
if file
puts "File opened successfully"
end
rescue
file = STDIN
end
print file, "==", STDIN, "\n"
如果你能做到這一點,那麼我總需要使用別的:在本教程的「救市」未指定的異常被使用?或者我可以像這樣在最後使用通用救援?
begin
# -
rescue OneTypeOfException
# -
rescue AnotherTypeOfException
# -
rescue
# Other exceptions
ensure
# Always will be executed
end
有什麼教程,所以我不知道要推薦它? – 2011-06-08 23:42:15
@AndrewGrimm經過一些Google搜索後,我認爲提問者所遵循的教程是http://www.tutorialspoint.com/ruby/ruby_exceptions.htm。Bonus WTF:該教程的作者似乎剽竊了http://rubylearning.com/satishtalim/ruby_exceptions.html中的第一個示例(它已經不正確),但是通過縮小評論的縮進來使其更糟糕。是的,我認爲引導人們遠離它是明智的 - 多麼無能和欺詐的完美結合! – 2015-12-09 19:51:57