我了解到,当我指定函数可以抛出的异常类型时,不能抛出其他异常,但是当我测试这段代码时,它没有遵循这条规则。
void foo(int i)throw(int)
{
if(i==2)
{
throw("exception");
}
}
int main()
{
int i=2;
try
{
foo(i);
}
catch(const char* ex)
{
cout<<ex<<endl;
}
return 0;
}
我误解了什么吗?