C++ 从C+中删除noexcept+;函数,如何处理调用它的noexcept函数?
假设我的代码中有一个标记为C++ 从C+中删除noexcept+;函数,如何处理调用它的noexcept函数?,c++,c++11,refactoring,automated-refactoring,noexcept,C++,C++11,Refactoring,Automated Refactoring,Noexcept,假设我的代码中有一个标记为noexcept的foo函数。许多其他函数调用foo,其中许多函数也标记为noexcept 现在假设我必须调整foo,现在它可以抛出异常,所以它不再是noexcept 调用foo的所有函数都必须删除noexcept,是否正确 我该如何找到所有调用foo的函数?有没有比使用我的文本编辑器进行普通搜索更好的方法 通过对规范的搜索,似乎调用潜在抛出函数的函数实际上可以具有noexcept说明符。如果异常由foo引发,并且被另一个标记为noexcept的函数调用,则该异常将
noexcept
的foo
函数。许多其他函数调用foo
,其中许多函数也标记为noexcept
现在假设我必须调整foo
,现在它可以抛出异常,所以它不再是noexcept
foo
的所有函数都必须删除noexcept
,是否正确
foo
的函数?有没有比使用我的文本编辑器进行普通搜索更好的方法
foo
引发,并且被另一个标记为noexcept
的函数调用,则该异常将导致调用。因此,根据您是否希望传播异常,您不需要删除所有noexcept
说明符。但是,如果希望传播异常,则可能需要删除这些noexcept
说明符
foo
引发,并且被另一个标记为noexcept
的函数调用,则该异常将导致调用。因此,根据您是否希望传播异常,您不需要删除所有noexcept
说明符。但是,如果希望传播异常,则可能需要删除这些noexcept
说明符
1:除非他们自己不处理异常。2:使用IDE1。。。自行处理异常,或乐意终止异常。2.使用IDE或注释掉函数,看看有什么中断-有你的调用者(假设没有重载/转换等允许它编译)。请注意,“注释掉函数,看看有什么中断”不是在存在重载的情况下查找调用站点的可靠方法,因为调用方仍然可以通过解析到次优匹配来编译。Visual Studio的代码分析工具将告诉您是否从
noexcept
函数调用非noexcept
函数。@BenVoigt:我注意到了。1:只有当它们自己不处理异常时。2:使用IDE1。。。自行处理异常,或乐意终止异常。2.使用IDE或注释掉函数,看看有什么中断-有你的调用者(假设没有重载/转换等允许它编译)。请注意,“注释掉函数,看看有什么中断”不是在存在重载的情况下查找调用站点的可靠方法,因为调用方仍然可以通过解析到次优匹配来编译。Visual Studio的代码分析工具将告诉您是否从noexcept
函数调用非noexcept
函数。@BenVoigt:我确实注意到了这一点。