温馨提示×

c++中throw的用法是什么

c++
小亿
157
2024-01-31 10:44:49
栏目: 编程语言

在C++中,throw用于抛出异常。它可以用于任何可抛出的类型,包括基本类型、自定义类型和标准库提供的异常类。

throw语句通常与trycatch一起使用,用于异常处理。当程序执行到throw语句时,会立即中断当前的执行流程,并将控制权转移到最近的catch块。

语法示例:

throw expression;

expression可以是任何可抛出的类型,例如整数、浮点数、自定义类型的对象等。

以下是一个简单的示例,演示了throw的用法:

#include <iostream>

int divide(int a, int b) {
    if (b == 0) {
        throw "除数不能为0";  // 抛出一个字符串异常
    }
    return a / b;
}

int main() {
    try {
        int result = divide(10, 0);
        std::cout << "结果: " << result << std::endl;
    }
    catch (const char* message) {
        std::cout << "捕获到异常: " << message << std::endl;
    }
    return 0;
}

在上面的示例中,divide函数会检查除数是否为0,如果是0,则抛出一个字符串异常。在main函数中,我们使用try块来尝试调用divide函数,并在catch块中捕获异常。如果异常被抛出,catch块将会执行,并打印异常信息。

总结一下,throw用于抛出异常,catch用于捕获并处理异常,这是C++中异常处理机制的关键部分。

0