Java异常包装:糟糕的做法?
发布时间:2020-12-14 05:44:40 所属栏目:Java 来源:网络整理
导读:来自 PHP世界,只有一种方法可以编写异常处理..我发现Java中的异常包装有点“丑陋”: public void exampleOneException(String input) throws MyBusinessException { try { // do something } catch (NumberFormatException e) { throw new MyBusinessExcept
来自
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); } } 这些处理例外的方法有什么不同或最佳做法吗? 解决方法
这些都是两种不同场景的有效方法.
在第一种情况下,该方法无法对异常做任何智能,但必须向上“报告”它.这样,调用者可以捕获异常并决定如何处理它(例如取消流,向用户弹出消息,记录它等) 在第二种情况下,您捕获异常并将其记录下来,从而有效地将错误从调用方隐藏起来.如果调用者并不真正关心操作是否成功,则此类处理可能很有用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |