Pro*_*Sir -1 c++ visual-studio visual-studio-debugging
在C ++项目上工作时,我发现VS19输出非常无用。考虑在新安装的VS19上运行示例代码:
#include <iostream>
using namespace std;
class My
{
public:
void f() noexcept
{
throw exception{"A problem sir!"};
}
};
int main()
{
try
{
My m;
m.f();
}
catch (exception& ex)
{
cout << "exception caught! " << ex.what() << endl;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我希望收到的是:“函数在标记为noexcept时抛出异常”,并且将光标设置在有问题的行上。我得到的是一个带有一些常规文本的新窗口,没有一个提到问题或问题所在。
您指定了什么编译器警告级别?如果使用该/W0选项,则没有诊断,但具有任何其他值,/W1通过/W4,编译器将输出以下行:
1>filename.cpp(9,1): warning C4297: 'My::f': function assumed not to throw an exception but does
1>filename.cpp(9,1): message : __declspec(nothrow), throw(), noexcept(true), or noexcept was specified on the function
Run Code Online (Sandbox Code Playgroud)
注意:诊断消息包括行号和列号。如果双击错误消息,它将光标移至有问题的行。
| 归档时间: |
|
| 查看次数: |
71 次 |
| 最近记录: |