Java异常包装:糟糕的做法?

前端之家收集整理的这篇文章主要介绍了Java异常包装:糟糕的做法?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
来自 PHP世界,只有一种方法可以编写异常处理..我发现Java中的异常包装有点“丑陋”:
public void exampleOneException(String input) throws MyBusinessException {
    try {
        // do something
    } catch (NumberFormatException e) {
        throw new MyBusinessException("Error...",e);
    }
}

我更喜欢使用这种风格:

public void exampleTwoException() {
    try {
        // do something
    } catch (MyBusinessException e) {
        log.error("Error...: " + e);
    } catch (NumberFormatException e) {
        log.error("Error...: " + e);
    }
}

这些处理例外的方法有什么不同或最佳做法吗?

解决方法

这些都是两种不同场景的有效方法.

在第一种情况下,该方法无法对异常做任何智能,但必须向上“报告”它.这样,调用者可以捕获异常并决定如何处理它(例如取消流,向用户弹出消息,记录它等)

在第二种情况下,您捕获异常并将其记录下来,从而有效地将错误调用方隐藏起来.如果调用者并不真正关心操作是否成功,则此类处理可能很有用.

猜你在找的Java相关文章