有没有一个普遍接受的成语,指示C代码可以抛出异常?
使用C代码时,遇到问题,意外的是调用者抛出异常.读取您正在使用的模块的每一行,看看它是否抛出异常并不总是可行或不切实际的,如果是,则是什么类型的异常.
是否存在处理这个问题的惯用语或“最佳做法”? 我想到了以下几点: (1)在我们的doxygen文档中,我们可以在预期抛出异常的每个函数中添加一个注释,它的类型是. (2)为了安全起见,我们可以有一个app-wide try / catch(…) (3)使用异常规格 这些方法的任何经验,还是我不知道的任何其他方法? 解决方法
解决问题的惯用方式不是表示您的代码可以抛出异常,而是在对象中实现异常安全.该标准定义了对象应实现的几个异常保护:
>抛出保证:该函数不会抛出异常 当然,这个标准文件也是每个标准库类的异常安全级别. 这是处理C中异常的方法.而不是标记哪个代码可以或不能抛出异常,使用RAII来确保您的对象被清理,并考虑在RAII对象中实现适当级别的异常安全性,以便在没有特殊处理的情况下能够生存抛出异常. 如果异常允许您的对象处于无效状态,则异常只会造成问题.这绝对不会发生.您的对象应始终至少实现基本保证. (并实施提供适当级别的异常安全的容器类是启发性的C练习)) 对于文档,当你能够确定一个函数可能抛出的异常时,一切都可以自由地记录它.但一般来说,当没有指定任何其他内容时,假设函数可能会抛出.有时候,空掷指定有时用于记录函数从不抛出的时间.如果不在那里,假设该函数可能会抛出. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |