gpt4 book ai didi

java - 如何忽略 Eclipse 中特定类型的未捕获异常?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:51:44 24 4
gpt4 key购买 nike

我在我的 Java 应用程序中使用第三方库。这个第三方库在每次应用程序启动时都会抛出一个自定义的未捕获异常。该异常是无害的,仅用于第三方库内部的日志记录目的。由于未捕获此异常,它导致我的 Eclipse IDE 切换到调试透视图并在我每次启动应用程序时暂停线程执行以通知我该问题。我必须手动告诉 Eclipse 忽略它并每次都恢复调试。这很烦人。我无法更改第三方库来解决此问题。

有没有办法告诉 Eclipse IDE 忽略特定类型的未捕获异常?

我尝试了“步骤过滤”,但(我认为)由于自定义未捕获异常不在堆栈跟踪中,因此它没有从调试器中过滤掉。这是我第一次涉足步进过滤,所以我可能会用错它。这是一个示例堆栈跟踪。

Daemon Thread [Thread-13] (Suspended (exception CustomThirdPartyException)) 
ThreadPoolExecutor$Worker.run() line: not available [local variables unavailable]
Thread.run() line: not available

编辑:

jluzwick 在 Eclipse 中禁用所有未捕获的异常后使用我们自己的记录器来监视未捕获的异常的工作在技术上可行,但它并不理想,如果我们的记录器损坏,我们可能会遗漏一些东西。

mazaneicha 的解决方案似乎走在正确的轨道上,但我无法让它完全按照我想要的方式工作。这可能是由于我的用户错误造成的。

jluzwick 和 mazaneicha 都有可能解决这个问题,但 Konstantin Komissarchik 有“正确”的答案,因为这应该被推回给库的创建者来解决。有时技术解决方案不是正确的。

最佳答案

一个旧线程,但我想我会添加一点。

至少在 Eclipse Indigo 中:在 Debug Perspective->Breakpoints View 中:

  1. 为要暂停的异常(以及可能的子类)指定一个断点。这是通过单击“添加 Java 异常断点”来完成的。一个 J 和一个感叹号图标。
  2. 右键单击断点并选择“断点属性”
  3. 转到“过滤”
  4. 指定要忽略的类或包。这会将它们添加到列表中。只需确保取消选中它们以描绘它是独占的(不要在指定位置停止)

我倾向于使用它,以便我可以将 NullPointerExceptions 指定为一般异常断点,但忽略来自第三方库的包。

关于java - 如何忽略 Eclipse 中特定类型的未捕获异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5158879/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com