假設我寫了一個名爲「Sample.rb」文件中的代碼:爲什麼`IRB`在它發現任何致命錯誤時不會退出?
class Foo
def display()
p "hi"
end
end
Foo.new.display(1)
我的程序Sample.rb
肯定是結束了,而沒有進行任何執行後的這也放置在該方法中,用以下錯誤,如果不處理它:
#ArgumentError: wrong number of arguments (1 for 0)
# from (irb):2:in `display'
# from (irb):6
# from C:/Ruby193/bin/irb:12:in `<main>'
現在即將到另一點:
IRB
本身也計劃。它接受下面的代碼,同時也產生了同樣的錯誤如下:
>> class Foo
>> def display()
>> p "hi"
>> end
>> end
#=> nil
>> Foo.new.display 1
#ArgumentError: wrong number of arguments (1 for 0)
# from (irb):2:in `display'
# from (irb):6
# from C:/Ruby193/bin/irb:12:in `<main>'
>>
爲什麼在這種情況下IRB
本身不會突然退出,而它使這樣的Fatal error
如Non- fatal
和未來>>
提示 給我們?
赫姆..我知道。我不是在指責IRB爲什麼這樣做?相反,我試圖瞭解它是如何處理的? :) – 2013-03-09 08:14:58
我不怪IRB - 冒泡的例外是偉大的,但IRB應該從隔離 - 因爲我使用它作爲一個互動的工具更所以比一個調用應用。例如,Python默認情況下不會採用這種方式。 – cgseller 2016-01-12 20:39:33