创建从std::exception派生的用户异常是一种在C++编程中处理异常的方法。当程序遇到错误时,可以通过抛出异常来处理错误情况。为了实现这一点,可以创建一个从std::exception派生的用户异常类,并在程序中抛出该异常。
以下是一个简单的示例,展示了如何创建一个名为MyException的用户异常类,该类从std::exception派生:
#include<iostream>
#include<exception>
class MyException : public std::exception {
public:
MyException(const std::string& message) : message(message) {}
const char* what() const throw() override {
return message.c_str();
}
private:
std::string message;
};
int main() {
try {
throw MyException("Something went wrong");
} catch (const MyException& e) {
std::cerr << "Caught MyException: " << e.what()<< std::endl;
} catch (const std::exception& e) {
std::cerr << "Caught std::exception: " << e.what()<< std::endl;
}
return 0;
}
在这个示例中,我们创建了一个名为MyException的异常类,它从std::exception派生。我们在MyException类中重写了what()
方法,以便在捕获异常时提供有关错误的信息。在main()函数中,我们抛出了一个MyException异常,并在try-catch块中捕获它。
在实际应用中,可以根据需要创建多个用户异常类,以处理不同类型的错误。这种方法可以帮助程序员更好地处理错误情况,并提高代码的可读性和可维护性。
领取专属 10元无门槛券
手把手带您无忧上云