当前位置:  开发笔记 > 编程语言 > 正文

编写自定义异常类时应考虑哪些因素?

如何解决《编写自定义异常类时应考虑哪些因素?》经验,为你挑选了1个好方法。



1> Shog9..:

问自己的问题:

    谁会抓住它?如果没有人,那么你真的不需要自定义异常.

    你会在哪里扔它?是否有足够的上下文可供使用,或者在异常对最终捕手有用之前是否需要多次捕获并重新抛出?

    你为什么扔它?因为您遇到了异常并需要附加其他信息?因为您在某些数据中遇到了不可恢复的错误,需要将详细信息传回客户端代码?因为你喜欢throw东西?

    有什么例外?不是什么造成了它,但从捕手的角度来看它是什么?他们可以修复并重试的东西?他们应该永远不会重试的东西?他们应该通知用户什么?他们应该将背景信息附加到然后再重新抛出?什么决定了你需要传递的信息,如果有的话......

戒律:

    不要在永远不会被捕获的自定义异常上浪费时间.

    不要"加倍"异常:每个自定义异常类型应该有一个明确定义的情况,它可以并且应该被捕获; 不匹配的异常应该分解为它们自己的自定义类型(而不是强制catcher将条件逻辑构建到单个catch()子句中).

    除非您有充分的理由不这样做,否则始终允许从先前捕获的异常中附加内部异常/数据.失去上下文很少有用.

推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有