c++ try语句和容错处理

前言:

在编写程序的时候,异常是指存在于运行时的反常行为,这些行为超出了函数正常功能的范围。典型的异常包括失去数据库连接以及遇到意外输入等。处理反常行为可能是设计所有系统最难的一部分。如果程序中含有可能引发异常的代码,那么通常也会有专门的代码处理问题。例如,如果程序的问题是输入无效,则异常处理部分可能会要求用户重新输入正确的数据;如果丢失了数据库连接,会发出报警信息。

异常处理机制为程序中异常检测和异常处理这两部分的协作提供支持。在C++语言中,异常处理包括:

    ●throw表达式。异常检测。

    ●try语句块。异常处理。

    ●一套异常类,用于在throw表达式和相关的catch子句之间传递异常的具体信息

#include <iostream>
#include <stdexcept>
using namespace std;

int main(){
    int a, b;
    cout << "Input two integers: ";
    while (cin >> a >> b) {
        try {
            if (b == 0) throw runtime_error("divisor is 0");
            cout << static_cast<double>(a) / b << endl;
            cout << "Input two integers: ";
        }
        catch (runtime_error err) {
            cout << err.what();
            cout << "\nTry Again? Enter y or n:" << endl;
            char c;
            cin >> c;
            if (!cin || c == 'n')
                break;
        }
    }
    return 0;
}

 

 

参考链接:https://www.cnblogs.com/mu-ye/p/7892652.html

posted on 2020-02-28 21:15  玩转机器学习  阅读(1108)  评论(0编辑  收藏  举报