您的位置:首页 > 编程语言 > C语言/C++

c++ try catch throw 简单用法

2017-08-12 19:33 363 查看
try  catch throw 是c++的异常处理机制,当程序遇到一些意外的错误,(比如除数为0) 这是程序员可以使用一些基本的方法来处理这些异常

首先看一个处理除数遇到0的例子

#include <iostream>

using std::cout;
using std::cin;
using std::cerr;

int fun(int & a, int & b)
{
if(b == 0)
{
throw "hello there have zero sorry\n"; //引发异常
}
return a / b;
}

int main()
{
int a;
int b;
while(true)
{
cout << "输入除数 a=";
cin >> a;
cout << "输入被除数 b=" ;
cin >> b;

try //try里面是可能引发异常代码块
{
cout << " a / b = "<< fun(a,b) << "\n";
}
catch(const char *str)  接收异常,处理异常
{
cout << str;
cerr <<"除数为0\n"; //cerr不会到输出缓冲中 这样在紧急情况下也可以使用
}
}
system("pause");
return 1;
}
try:try块标识符其中特定的异常可能被激活的代码块,他后面跟一个或者多个catch块.

catch:类似于函数定义,但并不是函数定义,关键字catch表明这是给一个处理程序, 里面的const  char *str 会接受throw传过来错误信息.

throw:抛出异常信息,类似于执行返回语句,因为它将终止函数的执行,但是它不是将控制权交给调用程序,而是导致程序沿着函数调用序列后退,知道找到包含try块的函数.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: