回到首页 / 上级目录

异常处理

C++ 异常处理是一种在程序执行期间遇到异常情况时,抛出异常并捕获该异常的机制。异常是指程序运行时遇到的错误或意外情况,如除以零、访问非法内存等。使用异常处理机制可以使程序更加健壮和可靠。

在 C++ 中,可以使用 try-catch 块来捕获异常。try 块包含可能会抛出异常的代码,catch 块用于捕获异常并执行相应的处理逻辑。如果 try 块中的代码抛出异常,则程序将跳转到与该异常匹配的 catch 块中,如果没有找到匹配的 catch 块,则程序将终止并显示错误信息。

以下是一个简单的示例,演示了如何使用 try-catch 块来捕获异常:

#include <iostream>
using namespace std;

int main() {
    int a, b;
    cout << "Enter two numbers: ";
    cin >> a >> b;
    try {
        if (b == 0) {
            throw "Division by zero!";
        }
        cout << "Result: " << a / b << endl;
    }
    catch (const char* msg) {
        cerr << "Error: " << msg << endl;
    }
    return 0;
}

在上面的代码中,如果用户输入的第二个数是 0,则会抛出一个字符串异常,程序将跳转到 catch 块中,并输出错误信息。

除了使用字符串作为异常类型外,还可以使用任何其他类型的异常。也可以定义自己的异常类型,并在 catch 块中捕获它们。在 catch 块中可以使用多个 catch 块来捕获不同类型的异常,以便执行不同的处理逻辑。