【C++】:错误处理机制 -- 异常
在C++中,异常处理机制用于在程序运行时处理错误或不可预见的事件。通过使用关键字try
, catch
, 和 throw
,程序可以抛出异常(exceptions),并捕获这些异常以执行错误处理代码。
基本语法:
try {
// 代码块,可能抛出异常
if (someErrorCondition)
throw someException; // 抛出异常
} catch (ExceptionType1& ex) {
// 处理ExceptionType1异常
} catch (ExceptionType2& ex) {
// 处理ExceptionType2异常
} catch (...) {
// 捕获所有未指定类型的异常
}
实例代码:
#include <iostream>
#include <stdexcept> // 包含标准异常类
int main() {
try {
int divisor = 0;
if (divisor == 0) {
throw std::runtime_error("Division by zero!"); // 抛出运行时异常
}
// 正常的除法操作
int result = 10 / divisor;
std::cout << "Result is " << result << std::endl;
} catch (std::runtime_error& e) {
std::cerr << "Caught a runtime_error: " << e.what() << std::endl;
} catch (...) {
std::cerr << "Caught an unhandled exception." << std::endl;
}
return 0;
}
在这个例子中,如果除数为零,程序会抛出一个std::runtime_error
异常。在catch
块中捕获这个异常并输出错误信息。其他未捕获的异常会被最后的catch
捕获并输出一个通用的错误信息。
评论已关闭