我在项目中使用Visual Studio / EHsc异常处理模式。这意味着catch(...)不会捕获结构化异常。我有一个公共标题可以执行一个可以包含在消费者项目中的catch(...)。
我担心使用我的标题的项目可能会有一个不同的异常处理模式,这会使我的标题行为不端。
如果异常处理模式不是根据需要,是否存在static_asserting或#pragma错误导致构建失败的方法?
答案 0 :(得分:1)
来自https://msdn.microsoft.com/en-us/library/b0084kay.aspx
_CPPUNWIND如果/ GX(启用异常处理),/ clr(公共语言运行时编译)或/ EH中的一个或多个,则定义为1 (异常处理模型)编译器选项已设置。除此以外, 未定义。
它并不完美,但它给你一个战斗机会让它们变得相同