我在处理 unicode 字符串时遇到了一个问题,我想用标准异常进行一些错误报告。标准异常中包含的错误消息不是 unicode。
通常这对我来说不是问题,因为我可以用非 unicode 定义错误消息并拥有足够的信息,但在这种情况下,我想包含原始字符串中的数据,而这些can是统一码。
您如何处理异常中的 unicode 消息?您是否创建自己的自定义异常类,是否从标准异常派生并将其扩展为 unicode,或者您是否对此问题有其他解决方案(例如规则“不在异常中使用 unicode”)?
我认为彼得·季莫夫(Peter Dimov)的基本原理在Boost 错误处理指南 http://www.boost.org/community/error_handling.html很好地涵盖了这一点:
不要太担心what()
信息。很高兴有留言
程序员有机会
弄清楚,但你不太可能
能够撰写相关且
用户可理解的错误消息位于
抛出异常的点。
当然,国际化是
超出例外范围
类作者。彼得·迪莫夫制作了
正确使用的优秀论据
What() 字符串的作用是作为
键入错误消息表
格式化程序。现在如果我们能得到
标准化 What() 字符串
标准抛出的异常
图书馆...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)