搜索

pdf文档 Back to Basics: Exceptions

4.87 MB 111 页 0 下载 69 浏览 0 评论 0 收藏
所属分类: 后端开发 / C++
语言 格式 评分
英语
.pdf
3
摘要
文档讨论了C++异常处理的现状及其与错误代码的关系。尽管C++标准要求使用异常处理,但许多项目和编码规范仍然禁止使用异常,转而使用错误代码。这种现象导致大量项目实际上并未使用标准C++,而是采用非标准语言方言和库。文档指出,异常和错误代码各有优缺点,且无法完全取代对方。为了解决这一问题,C++社区正在推广同时提供异常和错误代码处理的双接口解决方案。文档还讨论了异常处理的基本机制及其在不同场景下的适用性。
AI总结
这篇文档讨论了C++异常处理的现状及其挑战。尽管异常是C++的标准错误处理机制,但许多项目和编码规范仍禁止使用异常,转而采用错误码或其他方法。这种做法导致大量项目实际上并未完全遵循标准C++,而是使用了非标准变种。 文档指出,错误码同样存在局限性,如无法在构造函数和操作符中使用,且默认情况下会被忽略,难以分离错误处理与正常流程。因此,单纯依赖错误码并非解决方案。 为解决这一问题,许多库和标准函数提供了双接口,既支持抛出异常,也支持返回错误码。例如,文件系统库通常提供两个重载函数,一个抛出异常,另一个设置错误码。这种做法在兼容性方面有所帮助,但也增加了接口的复杂性。 文档还详细解释了C++异常处理的基本机制,包括栈的销毁、终止处理等,并强调了正确使用异常的重要性。例如,在预期错误发生频率低、无法本地处理的情况下使用异常,而在预期错误频繁发生或可以本地处理的情况下避免使用。 最后,文档指出,未来可能需要改进C++的异常处理机制,以解决当前存在的问题,使其更符合实际使用需求。这可能包括引入非抛出版本的标准库或其他改进措施。
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余 99 页请下载阅读 -
文档评分
请文明评论,理性发言.