當我用Thread.new生成一個線程時,它看起來像在該線程中發生的任何異常都不會看到白天的光線,而應用程序只是悄悄忽略它我如何獲得ruby在線程內輸出異常?
7
A
回答
3
通常,線程彼此隔離,所以一個異常不會終止整個應用程序。
但是,雖然我從來沒有使用它們,但Thread
類有幾個abort_on_exception
方法,即使有一些例子。他們應該做你想做的。
http://corelib.rubyonrails.org/classes/Thread.html
3
添加到Nikita的答案中,您還可以通過在您生成的線程上調用thread.join
來觸發該異常。
如果您運行帶有調試標誌(ruby -d
)的程序,那麼當線程中出現未處理的異常時,您也會中止。
相關問題
- 1. 如何在ruby中獲得wget輸出?
- 2. Ruby,捕獲庫線程異常?
- 3. 如何在獲得異常後繼續執行線程
- 4. 我如何獲得SpecFlow預期異常?
- 5. 我如何獲得Liberator異常信息?
- 6. 如何從線程拋出異常?
- 7. 線程池內存異常
- 8. perl線程異常退出
- 9. 跨線程異常拋出
- 10. 如何捕獲Java中另一個線程拋出的異常?
- 11. 異步任務致命異常 - 線程正在退出,未捕獲的異常
- 12. 獲取OutOfMemory異常線程
- 13. 如何獲得線程內的RealmList?
- 14. 我如何獲得'cake repl'在OSX上的工作? (我得到'線程中的異常'主要「java.lang.NoClassDefFoundError:clojure/main')
- 15. 獲取Ruby異常
- 16. XSLT:我如何獲得此輸出?
- 17. 我將如何獲得此輸出?
- 18. 我們如何獲得以下輸出?
- 19. ’在線程異常」
- 20. 爲什麼我得到這個異常:異常在線程「主要」 org.apache.poi.openxml4j.exceptions.NotOfficeXmlFileException
- 21. 如果在輔助線程中發生異常,如何在主線程中捕獲異常?
- 22. 如何從程序獲得std輸出
- 23. 我們如何獲得子進程的子進程的輸出
- 24. junit在線程拋出異常
- 25. 在線程池中拋出異常
- 26. 在UI線程上拋出異常
- 27. 線程異常異常
- 28. 在.NET線程捕獲異常
- 29. 在不同線程中捕獲異常
- 30. 我得到異常errorn在線程Java主郎錯誤
太棒了!謝謝! – 2010-08-02 20:29:34