C++ 中的异常处理机制try/catch/throw

try块:用于存放被激活的特定异常。

catch块:需要处理的位置,捕获异常。指定想要捕捉的异常类型

throw块:出现问题时,抛出异常。操作数可以是任意的表达式

//可以尝试多种异常捕捉
try
{
   // 保护代码
}catch( ExceptionName e1 )
{
   // catch 块
}catch( ExceptionName e2 )
{
   // catch 块
}catch( ExceptionName eN )
{
   // catch 块
}
#include <iostream>
using namespace std;
 
double division(int a, int b)
{
   if( b == 0 )
   {
      throw "Division by zero condition!";
   }
   return (a/b);
}
 
int main ()
{
   int x = 50;
   int y = 0;
   double z = 0;
 
   try {
     z = division(x, y);
     cout << z << endl;
   }catch (const char* msg) {
     cerr << msg << endl;
   }
 
   return 0;
}


猜你喜欢

转载自blog.csdn.net/weixin_42078760/article/details/80646122