声明抛出异常而不抛弃异常

时间:2016-04-22 06:52:44

标签: java ejb jax-rs javabeans

我有几个从jax-rs Web服务调用的EJB。但是,每次我调用其中一个EJB方法时,我都会使用拦截器拦截调用。此拦截器检查API密钥的参数,如果它不存在或不存在于我的数据库中,它将抛出我希望在我的jax-rs代码中捕获的异常。但是,由于我的jax-rs类不知道抛出此异常的可能性,即使异常可能是一个检查异常,这里最好的做法是什么?

  1. 声明我的EJB抛出异常(没有自己抛出它们)
  2. 将我的异常作为未经检查的异常并检查它是否正确?
  3. 别的什么?

1 个答案:

答案 0 :(得分:1)

我发现抛出未经检查的异常是最好的。然后我使用异常映射器来捕获异常并处理它。

https://docs.oracle.com/javaee/6/api/javax/ws/rs/ext/ExceptionMapper.html

唯一剩下的就是将异常输出抑制为日志文件。