相关疑难解决方法(0)

异常与错误代码与断言

我正在开发一个生成设备报告的库.generate_report (const std::string& no)由于各种原因,成员函数可能会失败:

  1. 报告号无效.
  2. 无效状态(report_generator是FSM)
  3. 没有设备处于活动状态
  4. 报告生成期间出错

哪种错误处理机制最适合这些错误?

  • 只是回来truefalse
  • 返回错误代码
  • 断言并记录
  • 抛出异常
  • 以上的任何组合

一些上下文信息:正常的工作流程如下.用户激活设备,从列表中选择报告并单击"生成".

编辑:感谢您的回复!对我来说,现在很清楚何时使用断言以及何时进行错误处理.至于错误处理,错误代码和异常都有利有弊.我想我会考虑异常(并为上述错误创建四个类),但我还不确定.我总是想到"意外情况"的例外情况.无效的报告编号并非真正意外.有什么建议?:)

c++ error-handling assert exception

18
推荐指数
4
解决办法
1万
查看次数

标签 统计

assert ×1

c++ ×1

error-handling ×1

exception ×1