在C++中,您可以通過繼承std::exception
或其他異常類來創建自定義異常類
#include<iostream>
#include<exception>
#include<string>
// 自定義異常類
class CustomException : public std::exception {
public:
// 構造函數
CustomException(const std::string& message) : message_(message) {}
// 獲取異常信息的虛函數
virtual const char* what() const noexcept override {
return message_.c_str();
}
private:
std::string message_; // 異常信息
};
int main() {
try {
throw CustomException("這是一個自定義異常");
} catch (const CustomException& e) {
std::cerr << "捕獲到自定義異常: " << e.what()<< std::endl;
}
return 0;
}
在這個例子中,我們創建了一個名為CustomException
的自定義異常類,它繼承自std::exception
。我們重寫了what()
虛函數,以便在拋出異常時提供有關錯誤的詳細信息。在main()
函數中,我們使用try-catch
語句捕獲并處理自定義異常。