c++ try catch throw 简单用法

来源:互联网 发布:dota2数据分析网站 编辑:程序博客网 时间:2024/05/29 13:24

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块的函数.

原创粉丝点击