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

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

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

 

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

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

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


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


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


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




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值