gpt4 book ai didi

c++ - 错误处理理论?

转载 作者:IT老高 更新时间:2023-10-28 13:58:59 26 4
gpt4 key购买 nike

大多数关于错误处理的建议都归结为一些技巧和窍门(例如,参见 this post)。这些提示很有帮助,但我认为它们并不能回答所有问题。我觉得我应该根据某种哲学来设计我的应用程序,这是一种为构建提供坚实基础的思想流派。关于错误处理的话题有这样的理论吗?

这里有几个实际问题:

  • 如何决定错误应该在本地处理还是传播到更高级别的代码?
  • 如何决定是记录错误还是将其作为错误消息显示给用户?
  • 日志记录是否应该只在应用程序代码中完成?或者可以从库代码中进行一些日志记录。
  • 如果出现异常,您应该一般在哪里捕获它们?在低级或高级代码中?
  • 你是应该通过所有层的代码争取统一的错误处理策略,还是尝试开发一个能够适应各种错误处理策略的系统(以便能够处理来自 3rd 方库的错误) .
  • 创建错误代码列表是否有意义?还是现在已经过时了?

在许多情况下,常识足以制定一个足够好的策略来处理错误情况。但是,我想知道是否有更正式/“学术”的方法?

PS:这是一个普遍的问题,但也欢迎 C++ 特定的答案(C++ 是我工作的主要编程语言)。

最佳答案

Is logging something that should only be done in application code? Or is it ok to do some logging from library code.

只是想对此发表评论。我的观点是永远不要直接在库代码中记录日志,而是在应用程序代码中提供 Hook 或回调来实现这一点,因此应用程序可以决定如何处理来自日志的输出(如果有的话)。

关于c++ - 错误处理理论?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1989819/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com