返回try catch块。 Correcty?

时间:2018-05-10 09:57:17

标签: java exception try-catch

是否可以制作类似的东西?:

try {
...
} catch (exception){

    return; // this is most important thing here. In catch block only "return"

}

我可以用这种方式处理异常 - 只使用“return;”吗? 它工作正常,但我想知道它是否正确?

4 个答案:

答案 0 :(得分:3)

这样你忽略了Exception真的你想要的吗?这一切都取决于你的背景 - 这样做可能是安全的(我怀疑它,但嘿,这是你的代码)。通常,当一些异常发生时 - 你应该做出反应,而不仅仅是return,而是记录,默认(很少是一个好的选择),重试等等。

答案 1 :(得分:1)

是的,这实际上是一个有效的用例。在catch块中返回有许多正当理由,其中一个原因是返回默认值:

try {
    return service.getData();
} catch (SocketTimeoutException ex) {
    logTimeout(ex);
    return getCachedData();
}

答案 2 :(得分:1)

这是正确的语法,但根据java编码标准,我们不能吞下异常而是在catch块中处理它们或用适当的消息重新抛出它

答案 3 :(得分:0)

如果你做这样的事情

public void someMethod(){
    try{
    ...
    } catch (Exception e) {
        return;
    }
}

你失去了你的例外。这是一个不好的做法,因为如果出现问题 - 你甚至无法理解出了什么问题。 更好的方式

  • 将错误消息打印到日志
  • 重新抛出此异常或您的自定义异常并在下一级处理它