簡體   English   中英

如何讓ruby在線程內輸出異常?

[英]How do i get ruby to output an exception inside a thread?

當我使用Thread.new {}生成一個線程時,看起來在該線程中發生的任何異常都看不到白晝,應用程序只是靜靜地忽略它

通常,線程彼此隔離,因此一個中的異常不會終止整個應用程序。

但是,雖然我從未使用它們,但Thread類有幾個abort_on_exception方法,即使有一些例子。 他們應該做你想做的事。
http://corelib.rubyonrails.org/classes/Thread.html

添加到Nikita的答案,您還可以通過在您生成的線程上調用thread.join來觸發異常。

如果運行帶有debug標志的程序( ruby -d ),那么當線程中出現未處理的異常時,你也會中止。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM