📜  C ++中的异常标头和示例(1)

📅  最后修改于: 2023-12-03 14:39:39.147000             🧑  作者: Mango

C++中的异常头文件和示例

在C++中,异常处理是一种用于处理程序中出现错误的方法。当出现错误时,可以抛出异常,程序将自动跳转到异常处理程序来处理异常。C++中的异常处理需要使用头文件<exception>和相关语法来实现。

异常基本语法

C++中抛出异常的代码语法如下:

throw exception_name;

其中,exception_name是自定义的异常名称,它可以是一个类的名称,也可以是基本数据类型。

C++中捕获异常的代码语法如下:

try {
    // code block where exceptions may be detected
} catch (exception_name1) {
    // code to handle exception_name1
} catch (exception_name2) {
    // code to handle exception_name2
}

try代码块中,程序可能会抛出异常。如果有异常被抛出,它会在catch中被捕获并进行处理。catch块中的代码用于处理特定类型的异常。

异常头文件

在使用C++中的异常处理时,需要包含头文件<exception>

示例

下面是一个简单的C++程序,它演示了如何使用异常处理:

#include <iostream>
#include <exception>

using namespace std;

int divide(int a, int b) {
    if (b == 0) {
        throw "division by zero!";
    }
    return a / b;
}

int main() {
    int x = 10;
    int y = 0;
    try {
        int z = divide(x, y);
        cout << "Result: " << z << endl;
    } catch (const char* msg) {
        cerr << "Error: " << msg << endl;
    }
    return 0;
}

在上面的程序中,我们定义了一个divide函数,它用于计算两个整数的商。如果第二个参数为0,则会抛出一个字符串异常。

main函数中,我们将divide函数声明在try代码块中。当divide函数抛出异常时,程序将会跳转到catch代码块中处理异常。在这个例子中,我们只有一个catch块,它将字符串异常输出到标准错误流。

输出结果如下:

Error: division by zero!

上面的例子演示了C++中如何使用异常处理来处理错误情况。在实际开发中,我们需要在程序的主要功能区域使用异常处理来保证程序的正常运行。