【发布时间】:2010-12-17 07:20:52
【问题描述】:
标准 C++ 的 std::exception::what() 返回一个窄字符串。因此,如果我想在那里放一个宽字符串消息,我不能。
是否有解决此问题的通用方法/模式/库?
编辑:明确地说,我可以编写自己的异常类并从它继承——但我很好奇是否有或多或少的标准实现。 boost::exception 似乎做了我想的大部分事情......
【问题讨论】:
-
我打算建议将字符串重新编码为 UTF8,但考虑到使用它的情况,我很高兴我没有!
-
如果你发现了请告诉我。我面临同样的问题。理论上可以为异常创建一个新的基类,但这会使所有的捕获端变得非常混乱。也许是一个新的类 wexception : public std::exception,并在里面发挥作用,但我担心它会变得非常低效。
标签: c++