The*_* do 2 c++ error-handling
我试图赶上零尝试:
int _tmain(int argc, _TCHAR* argv[])
{
int a = 5;
try
{
int b = a / 0;
}
catch(const exception& e)
{
cerr << e.what();
}
catch(...)
{
cerr << "Unknown error.";
}
cin.get();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
基本上它不起作用.有什么建议吗?谢谢.PS将来代码可以放在[code] [/ code]标签而不是四个空格之间的任何机会?
小智 7
除以零不会引起标准C++中的任何异常,而是会为您提供未定义的行为.通常,如果您想提出异常,您需要自己完成:
int divide( int a, int b ) {
if ( b == 0 ) {
throw DivideByZero; // or whatever
}
return a / b;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
287 次 |
| 最近记录: |