在不可访问的Java线程中处理未捕获的异常

在不可访问的Java线程中处理未捕获的异常,java,multithreading,exception,uncaughtexceptionhandler,Java,Multithreading,Exception,Uncaughtexceptionhandler,我在我的项目中使用了javasoundaudio,它启动了自己的线程。如果它认为所选的音频混音器不合适,则会抛出一个不支持的音频混音器异常,这将导致程序崩溃。如何捕获此异常?我无法将异常处理程序直接附加到该线程,因为我没有对它的引用。我尝试从主线程中使用Thread.setDefaultUncaughtExceptionHandler,但这似乎对JavaSound线程没有任何作用。我刚刚发现Eclipse调试器正在捕获异常并在到达异常处理程序之前停止执行。。在Preferences>Java>D

我在我的项目中使用了
javasoundaudio
,它启动了自己的线程。如果它认为所选的音频混音器不合适,则会抛出一个
不支持的音频混音器异常
,这将导致程序崩溃。如何捕获此异常?我无法将异常处理程序直接附加到该线程,因为我没有对它的引用。我尝试从主线程中使用
Thread.setDefaultUncaughtExceptionHandler
,但这似乎对JavaSound线程没有任何作用。

我刚刚发现Eclipse调试器正在捕获异常并在到达异常处理程序之前停止执行。。在Preferences>Java>Debug和
Thread中禁用此行为。setDefaultUncaughtExceptionHandler
按预期工作。

能否显示异常的确切堆栈跟踪?另外,能否显示使用
JavaSoundAudio
的代码行(这会导致该线程在背后启动)以及您尝试使用
Thread.setDefaultUncaughtExceptionHandler
?请参阅下面的答案,这实际上是Eclipse调试器的问题。