最近在重构代码的时候,有些想法,记录一下:
对于一些会抛异常的代码进行封装,是应该在封装的方法处直接try-catch还是throw exception让外面的调用者进行处理?
其实catch就相当于内部的一个回调,如果在内部就try-catch掉了,这个回调是无法传递到外面的,这样是不利于扩展的。比如下面的代码:
这样系统就会提示在内部IOException永远不会抛出,需要去掉try-catch模块。但是catch里是有代码逻辑的,所以封装的时候不能一味地进行try-catch以图省事。
当然还有一个解决办法,就是在封装的方法内部的catch里再throw 异常对象。但是这样就是重复啰嗦的。
2.throw new RuntimeException
1)在使用建造者设计模式的时候,某些属性的建造是有先后顺序或者必要性的。如果调用者没有按照
顺序建造或者建造不全,需要直接抛出异常。防止异常拖后抛出,和业务的异常混杂在一起。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。