思考记录--错误状态、异常抛出与接口耦合度的关系

 错误状态、异常抛出  与  接口耦合

当程序中函数的调用一层一层的深入,那么如果某层的函数执行出现了错误,那么对于错误是一层一层返回,还是在不同层次上分别进行处理。

 

如果将错误一层一层向上返回,势必造成上次逻辑开发需要知道很多底层细节,比如。用户类需要持久化处理,那么如果是通过网络保存到另一台机上部署的DB中,那么网络异常、数据库异常等所有的错误,用户的持久化类都需要处理。

现在的编译器提供了很详细的程序调用栈情况信息,我们可以跟踪这些信息一层一层发现问题的所在。

异常处理机制,提供了将异常可以逐层向上抛出的处理方法。


可细细想来,异常和错误并不是都抛给最上层程序来处理。很多异常和错误都是在特定的模块或特定的层次中进行了处理,对外只暴露了部分需要调用者知道的异常。


这应该还是接口设计方面的考虑,在函数调用过程中,那些是同一个层次,完成同一个功能模块的,那些是位于不同层次,不同模块的。


个人认为,接口之间的耦合度也可以通过需要知道对方的异常多少来衡量。我需要知道和处理的异常越多,那么我们之间联系也越精密。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章