作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个 RESTful Web 服务,它执行一些 IO 和数据库 Activity 以返回结果。
有一些我希望看到的Exceptions
,即因为未设置预期变量或我的数据库不再存在等而抛出的异常......
但是,当我抛出这些异常时,它们会被捕获并包装在 HTTP 500(内部服务器错误)
异常中,这就是客户端得到的(与根异常相反)。
我想在这里看到我的异常,而不是必须查看应用程序服务器日志。
最佳答案
你可以实现一个 ExceptionMapper 来返回你想要的任何东西。因此,例如,它可以将带有堆栈跟踪的整个异常放入响应中。
这是您在客户端想要的吗?我不确定。
客户端重建异常并重新抛出它可能是一项非常困难的工作。
此外,它非常不安全,因为堆栈跟踪会将服务器的内部代码暴露给客户端。
我建议您声明一些对客户端有意义并且您想公开的服务器错误代码。示例:
因此对于特定的异常,在 ExceptionMapper 中你可以将服务器异常映射到错误代码,然后在客户端重新映射它们。
关于java - 从 Jersey RESTful Web 服务中抛出信息性错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6124543/
我在我的 Swing 应用程序中设置了一个 UncaughtExceptionHandler,它将捕获并记录我的代码中所有未捕获的异常并将它们报告给我。大多数错误的堆栈跟踪有助于诊断问题。但是,有时我
我是一名优秀的程序员,十分优秀!