throw 要写在try 中 ,throw 出的异常,由catch 接住,然后做相应的处理
C++异常机制使用了三个新的关键字
try ──标识可能出现的异常代码段
throw ──抛出一个异常
catch ──标识处理异常的代码段
提示:
使用异常处理将带来更多的系统开销。因此慎用异常。
二、抛出异常
throw
throw必须在 try代码块中.后边跟的值决定抛出异常的类型。
三、捕获异常
catch
出现在try代码块后,后边跟的数据决定捕获的类型
catch(...) //表示捕获所有异常
int _tmain(int argc, _TCHAR* argv[])
{
int a,b;
a =333;
b=0;
try
{
if (b ==0)
{
throw "error b should not be zero";
//throw 1;
}
printf("%d", a/b);
}
catch(char *s)
{
cout<<s<<endl;
}
catch(exception e)
{
}
catch( int i)
{
cout<<i<<endl;
}
catch(...)
{
cout<<"error"<<endl;
}
return 0;
}
//throw 1;
}
printf("%d", a/b);
}
catch(char *s)
{
cout<<s<<endl;
}
catch(exception e)
{
}
catch( int i)
{
cout<<i<<endl;
}
catch(...)
{
cout<<"error"<<endl;
}
return 0;
}
}
catch( int i)
{
cout<<i<<endl;
}
catch(...)
{
cout<<"error"<<endl;
}
return 0;
}
}
catch( int i)
{
cout<<i<<endl;
}
catch(...)
{
cout<<"error"<<endl;
}
return 0;
}
}
catch(...)
{
cout<<"error"<<endl;
}
return 0;
}
}
catch(...)
{
cout<<"error"<<endl;
}
return 0;
}
return 0;
}