<分区>
我有一个基于文件的哈希表,它可能会遇到各种文件系统或用户错误。最初我将所有数据函数创建为 bools,如
bool add(int key, int value)
bool get(int key, int &value)
等等,输入/输出将通过参数,成功/失败将作为函数结果出现。
然后我有一些 mmf 包装器类,我需要为同一个项目提供防呆功能,我意识到它们可能会在构造函数中失败,在这种情况下返回 bool 并不是一个真正的选择,所以我添加了一堆
if (!somethingthatindicatesfail) throw std::exception("description here");
给他们。
所以现在我有一些东西可以在返回 bool 值的东西中抛出异常,然后我还需要将系统错误代码包含在错误日志中。
一团糟.. 我将重写所有失败场景逻辑,但在此之前,您首选的错误处理/传送方法是什么?
我想象的最终结果是一个不会崩溃但会记录错误的模块,防止进一步损坏数据并建议用户将其关闭。