3 回答
TA贡献1876条经验 获得超6个赞
在高级方面,例外;在低级的东西,错误代码。
异常的默认行为是解开堆栈并停止程序,如果我正在编写脚本,并且我寻找不在词典中的键,则可能是错误,并且我希望程序停止并让我都知道。
但是,如果我正在编写一段必须在每种可能的情况下都知道其行为的代码,那么我需要错误代码。否则,我必须知道函数中每一行都可能抛出的每个异常,才能知道其将要执行的操作。编写对每种情况(包括不愉快的情况)做出适当响应的代码既繁琐又困难,但这是因为编写无错误的代码既繁琐又困难,而不是因为您要传递错误代码。
TA贡献1817条经验 获得超6个赞
我通常更喜欢异常,因为它们具有更多的上下文信息,并且可以(如果使用得当)将错误更清楚地传达给程序员。
另一方面,错误代码比异常轻巧,但难以维护。错误检查可以无意中省略。错误代码更难维护,因为您必须保留所有错误代码的目录,然后打开结果以查看抛出了什么错误。错误范围在这里可能会有所帮助,因为如果我们唯一感兴趣的是是否存在错误,则检查起来更简单(例如,HRESULT错误代码大于或等于0表示成功,小于零就是失败)。可以无意中省略它们,因为没有程序性的强迫开发人员检查错误代码。另一方面,您不能忽略异常。
总而言之,在几乎所有情况下,我都倾向于使用异常而不是错误代码。
TA贡献1854条经验 获得超8个赞
我喜欢例外,因为
他们中断了逻辑流程
他们受益于类层次结构,它提供了更多的功能
如果使用得当,则可能表示各种各样的错误(例如,InvalidMethodCallException也是LogicException,因为这两种情况都发生在代码中的错误应在运行时之前被检测到时),并且
它们可以用于增强错误(即,FileReadException类定义可以包含用于检查文件是否存在或已被锁定等的代码)
- 3 回答
- 0 关注
- 487 浏览
添加回答
举报