📅  最后修改于: 2023-12-03 15:10:06.557000             🧑  作者: Mango
在 C++ 中,抛出异常是一种处理程序错误的方式。当程序出现错误时,可以使用 throw 关键字抛出异常。这样,程序就可以跳过正常的代码流程,进入异常处理的流程。
throw myException;
程序中的异常可以被捕获并处理,通常使用 try-catch 块来捕获异常。当程序抛出异常时,它会一直传递到它最近的 try-catch 块。如果没有找到可匹配的 catch 块,程序将结束并显示异常信息。
try {
// 代码块
}
catch (exception e) {
// 异常处理代码
}
在 C++ 中,可以创建自定义异常类,并在需要的时候抛出它们。以下是一个自定义异常的例子:
#include <exception>
#include <iostream>
using namespace std;
class MyException : public exception {
virtual const char *what() const throw() {
return "My exception happened";
}
} myex;
int main() {
try {
throw myex;
} catch (exception &e) {
std::cout << e.what() << std::endl;
}
return 0;
}
在上面的代码中,我们创建了一个名为 MyException 的异常类,它继承自 exception 类。该类重写了 exception 类中的 what() 方法,以便返回自定义的异常信息。然后,我们在程序中使用 throw 关键字抛出该异常,并在 catch 块中捕获它并输出异常信息。
在 C++ 中,异常处理是一种有效的处理错误的方式。使用 throw 关键字抛出异常,可以使程序跳过正常的代码流程,进入异常处理的流程。使用 try-catch 块捕获异常,并根据需要捕获和处理异常。可以创建自定义异常类,并在需要的时候抛出它们。