📜  抛出异常 c++ (1)

📅  最后修改于: 2023-12-03 15:10:06.557000             🧑  作者: Mango

抛出异常 C++

在 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 块捕获异常,并根据需要捕获和处理异常。可以创建自定义异常类,并在需要的时候抛出它们。