繁体   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