使用Null返回进行异常处理

时间:2013-10-21 07:03:12

标签: java

我有一个Java类,它执行JNDI查找并返回查找ejb对象。如果查找失败,则处理各种异常,当失败时,它将返回null。

现在,当调用该API并且查找失败时,我们将获得nullpointer异常。我们可以在调用类时进行空检查,但我需要确切的失败原因。如何捕获基类中引发的异常?

2 个答案:

答案 0 :(得分:1)

不要捕获异常,或者如果需要捕获它们来完成某些特定的工作,请在完成后重新抛出它们,这样调用者就可以看到有异常并自行处理它。

像:

method1() {
    try {
        // SomeException is thrown here
    } catch (SomeException e) {
        // do some work because of the exception
        throw e // re-throw or throw new MyException(e)
    }
}

method2() {
    try {
        method1();
    } catch (SomeException e) {
        // something went bad! 
        // do some specific work?
    }
}

答案 1 :(得分:1)

如果您想在调用链中向上传输错误信息,最好的方法是例外。

如果要添加其他信息,您应该让查找异常传播或将其包装在自定义异常中,而不是在失败的查找中返回null