2
如何从另一个线程捕获异常?如何从另一个线程捕获异常
- 我想对于一些特定线程做到这一点,而不是其他线程,所以我不能
abort_on_exception
转向true
。 - 我想在主线程中做一些例外,所以我不能简单地在异常中引发的线程内执行
puts
,pp
等。
我找到了答案在How to get error messages from ruby threads那建议使用catch
,我认为这是我想要走的路,但我不能没有完全弄清楚如何做到这一点。或者,还有更好的方法?我也找到了一个答案,建议使用Queue
类,但担心它可能是过度杀伤。
需要注意的一件事是,当您加入'线程时,主线程将等待加入的线程完成。为了使第二种方法最大限度地利用并发性。 –