该术语是什么意思module在下面的句子中引用?
不允许异常跨模块边界传播。
这是规则 62C++ 编码标准 http://www.gotw.ca/publications/c++cs.htm作者:赫伯·萨特和安德烈·亚历山德雷斯库。
我现在已经阅读了这本书,所以我想引用该部分的摘要,我认为这增加了一些清晰度:
不要向邻居的花园扔石头:C++ 异常处理没有普遍存在的二进制标准。不允许异常在两段代码之间传播,除非您控制用于构建双方的编译器和编译器选项;否则,模块可能不支持异常传播的兼容实现。通常,这可以归结为:不要让异常跨模块/子系统边界传播。
这是个好问题。 C++ 标准不使用这个词
模块(至少我不这么认为),以及通常的日常含义
类似于翻译单元。但那不可能
Herb 和 Andrei 的意思是什么,因为使用的真正目的
异常是从本地体向上传播
代码 - 否则,您将使用返回代码。
我只能猜测,但它们可能意味着什么
合理地在不同的 DLL 中实现。传播
跨 DLL 边界的异常might是一个问题,如果
DLL 已使用不同的编译器编译,或使用
一种不同的语言。否则...
一次 try/catch 通常被认为是最佳实践
main 中的块(或在其他一些高级函数中,在每个
线程),并捕获所有异常,无论在哪里
他们来自。当你这样做时,现代编译器不会出现任何问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)