java - 如何从 Eclipse 中的线程中提取堆栈跟踪?

标签 java eclipse multithreading try-catch

我对处理传递给线程池的可运行对象的错误感到非常困惑。

我正在按照书本做所有事情(从字面上看,我遵循 Goetz 的“实践中的并发”),并且我没有捕获 Eclipse 向我显示的任何错误,并且我得到了奇怪的 NoClassDefFoundErrors,即使我的构建路径看起来不错。

Weird NoClassDefFoundError even though my buildpath is fine

我尝试杀死我的本地存储库并重新克隆它以获取新的项目构建,但仍然收到错误。我的 try-catch 或 System.out.println 也都不起作用。 Eclipse 有什么方法可以让我更好地查看错误吗?或者一种真正让错误处理程序正常工作的方法?

//ThreadPool and runnable that is failing, even with error captures
MyPriorityThreadPool.execute(new RunWithPriority(priority) {
                        Throwable thrown = null;
                        @Override
                        public void run() { 
                                try {
                                    batch.buildData();
                                } catch (Exception e) {
                                    thrown = e;
                                }
                                finally {
                                    if (thrown != null) { 
                                        thrown.printStackTrace();
                                    }
                                }
                        }
                    });
                }

最佳答案

我不太确定您想要完成什么,但您在代码中没有捕获 NoClassDefFoundError 的原因是您捕获了 Exception > 而不是 ThrowableErrorExceptionError 更具体,不是 NoClassDefFoundError 继承自什么,因此 NoClassDefFoundError没有被您的 catch 表达式捕获。

关于java - 如何从 Eclipse 中的线程中提取堆栈跟踪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24493811/

相关文章:

java - 如何使用 headless Activity 处理静默 SEND Intent

java - 使用 TwitterStream 检索推文语言或按语言过滤

java - 构建 Android 项目时出现此错误意味着什么?

eclipse - 如何加速 Eclipse?

java - 如何创建Java线程

java - Web容器创建的线程和普通线程有什么区别?

java - Spring Security 4 无法在 Tomcat 7 上创建 bean FilterChain

java - Hibernate 不自动创建表

android - layoutlib.jar 丢失了! : Plug-in "com.android.ide.eclipse.adt"

android - 如何在 asyncTask 中执行 getWritableDatabase()