gpt4 book ai didi

java - RESTEasy 隐藏了真正的异常

转载 作者:太空宇宙 更新时间:2023-11-04 08:40:09 26 4
gpt4 key购买 nike

我的代码抛出异常(由于错误)。在日志中,我看到:

org.jboss.resteasy.spi.UnhandledException: java.lang.NullPointerException
at org.jboss.resteasy.core.SynchronousDispatcher.handleApplicationException(SynchronousDispatcher.java:323)
at org.jboss.resteasy.core.SynchronousDispatcher.handleException(SynchronousDispatcher.java:199)
at org.jboss.resteasy.core.SynchronousDispatcher.handleInvokerException(SynchronousDispatcher.java:175)
at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:529)
etc...

未记录实际异常的堆栈。如果我将代码包装在 try..catch 中并记录捕获的异常,我可以验证我的代码是否有错误。我的系统中没有其他库可以执行此操作,即使对于深度包装的异常也是如此,因此这一定是 RESTEasy 中的问题,也许是 UnhandledException 中的问题?

有办法避免这种行为吗?我想不出它应该隐藏实际异常的充分理由。

  • jetty
  • Java
  • Spring 3.0.3
  • RESTEasy 2.0.1GA

最佳答案

你有异常映射器吗?请参阅 RESTEasy 文档中的第 27 章“异常处理”。

我使用 RESTEasy 将 REST 添加到现有系统,而现有系统有一种奇怪的方式将异常包装在异常中,因此我的 ExceptionMappers 进行了大量的展开工作。

Throwable t = exception;
while (t.getCause() != null) {
t = t.getCause();
}
t.printStackTrace();

关于java - RESTEasy 隐藏了真正的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5505264/

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