首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何抑制Jersey自动抛出的Jersey异常?

如何抑制Jersey自动抛出的Jersey异常?
EN

Stack Overflow用户
提问于 2013-09-11 15:03:59
回答 4查看 1.8K关注 0票数 1

我在JAVA中使用Jersey 1.14进行REST。如果资源的POST正文中有任何错误,Jersey会抛出异常,这会将我的内部类提到给客户端。当错误从我的应用程序传递过来时,我仍然想给他们错误,但抑制Jersey抛出的错误(对于甚至没有到达我的应用程序的请求,因为Jersey识别异常并抛出它)。我搜索了任何标志来实现这一点,但没有找到任何东西。有没有办法做到这一点?

编辑:重新表述问题:静音/抑制jersey中无效输入的错误堆栈跟踪

更新:我尝试使用ExceptionMapper,捕获java.lang.Exception。当缺少Content-Type时,它捕获excpetion,但在对象转换中出现错误时,它无法捕获异常。

EN

回答 4

Stack Overflow用户

发布于 2013-09-11 16:44:06

您可以使用ExceptionMapper。这是关于它的an old article,就可以了。

票数 2
EN

Stack Overflow用户

发布于 2013-09-11 15:10:28

Jersey将抛出在您的代码中未处理的异常。因此,您需要将webservice代码包装在try/catch中。并捕获Exception类,以确保您在web服务类中优雅地处理它。

票数 0
EN

Stack Overflow用户

发布于 2013-09-11 15:22:17

我相信这可以通过服务器配置来实现,因为Jersey似乎没有任何相关的configuration option

您使用的是哪个servlet容器?

(编辑)对于Tomcat搜索"tomcat抑制异常堆栈跟踪“。大多数答案都会让您在web.xml中放置一个error-page元素

代码语言:javascript
复制
<error-page>
    <exception-type>java.lang.Throwable</exception-type>
    <location>/your-custom-error-page.jsp</location>
</error-page>

当然,还要实现一个不包含堆栈跟踪的your-custom-error-page.jsp。它还可以检查应用程序环境,并仅在开发过程中显示堆栈跟踪。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18734718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档