如何在Eclipse中没有捕获时观察异常?

时间:2012-01-30 19:26:06

标签: java eclipse debugging exception uncaught-exception

是否可以确定仅在finally捕获时发生了哪个例外?

以下是标准ThreadPoolExecutor代码的摘录:

    public void run() {
        try {
            Runnable task = firstTask;
            firstTask = null;
            while (task != null || (task = getTask()) != null) {
                runTask(task);
                task = null;
            }
        } finally {
            workerDone(this);
        }
    }

即。这里没有catch。我的调试器在workerDone()调用停止,表明发生了RuntimeException,但由于这里没有异常变量,我认为无法知道错误消息或其他什么。

2 个答案:

答案 0 :(得分:3)

您应该能够在调试器中为未捕获的异常添加“异常断点”。通常,这是Debug透视图中“变量”选项卡旁边的选项卡。

答案 1 :(得分:1)

不仅适用于日食。 你可以使用Thread.setUncaughtExceptionHandler(...) 如果你可以重新编译,那么在'run'方法中进行。 如果没有,ASAIK,即使你在主线程中这样做,你也会在“内部”线程中捕获异常。

setUncaughtExceptionHandler Example