c++异常列表被忽略
C++ exception list is ignored
我一直在学习c++,现在我的主题是异常处理。书上说,除了异常列表中的异常之外,其他任何东西都不能离开函数,所以我对它进行了测试,并预计程序会因为未捕获的异常而终止。现在的问题是,异常列表被忽略了,我该如何处理呢?
int diva(int a, int b)
throw(int, runtime_error)
{
if (b == 0)
throw invalid_argument("div by 0");
return a/b ;
}
int main(int argc, char* argv[])
{
set_terminate(errnote);
try {
diva(4,0);
} catch(const invalid_argument& e) {
cout<<e.what()<<endl;
}
}
程序仍然执行,异常仍然被捕获。
我也得到了警告:
警告1警告C4290: c++异常规范被忽略,除了to表示函数不是__declspec(nothrow) c:userssiegfreddocumentsvisual studio 2012projectsprocppprocppmaindriver.cpp 201 procpp
from MSDN
visual c++不实现函数的异常说明。
您的throw( int, runetime_error )
被编译器简单地忽略,没有作用。
相关文章:
- Pybind11:将元组列表从Python传递到C++
- 处理多个异常集合的C++方法
- 我在c++代码中生成了一个运行时#3异常
- 从链接列表c++中删除一个项目
- 如何(从固定列表中)选择一个数字序列,该序列将与目标数字相加
- C++如何通过用户输入删除列表元素
- 孤立代码块在结构中引发异常
- 读取文件的最后一行并输入到链接列表时出错
- C++中的赋值发生,尽管右侧出现异常
- 复制列表初始化的隐式转换的等级是多少
- LNK2038、MSVS2017 MAGMA的原因列表
- 从成员构造函数(Brace Initializer vs Initializer列表)抛出异常
- 链接列表正在抛出异常,而不是打印第一个节点
- 为什么初始化构造函数列表参数时会发生异常?
- C 错误:0x00934ABB(链接列表,地址簿)的未手动异常
- 链接列表导致异常,但不确定原因
- 首次机会异常设置检查列表视图中的状态
- 变量参数列表程序行为异常-csdarg
- c++异常列表被忽略
- 否,除非适用于从初始值设定项列表传播的异常