阅读量:8
在C++中,throw
用于抛出异常。它可以用于任何可抛出的类型,包括基本类型、自定义类型和标准库提供的异常类。
throw
语句通常与try
和catch
一起使用,用于异常处理。当程序执行到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++中异常处理机制的关键部分。