exceptrethrow.cpp

来自「C++ sample code, for the book: C++ blac」· C++ 代码 · 共 41 行

CPP
41
字号
#include <iostream>
#include <string>
using namespace std;

class Divide_by_zero_exception 
{
    string error_message;
public:
    string get_error(){return error_message;}
    Divide_by_zero_exception(){error_message = "Error: division by zero.";}
};

int main ()
{
    float op1, op2;

    cout << "Enter the two floating point numbers to divide: ";
    cin >> op1 >> op2;

    try
    {
        try
        {
           if(op2 != 0)
               cout << op1 << "/" << op2 << " = " << op1/op2 << endl;
           else
               throw Divide_by_zero_exception();
        }
        catch (Divide_by_zero_exception e)
        {
           cout << "Rethrowing the exception." << endl;
           throw;
        }
    }
    catch (Divide_by_zero_exception e)
    {
       cout << e.get_error() << endl;
    }

    return 0;
} 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?