在使用C++ STL中的stack時,有幾種常見的異常處理策略可以考慮:
try {
// 操作stack的代碼
} catch (const std::exception& e) {
// 處理異常
std::cout << "Caught exception: " << e.what() << std::endl;
}
if (!myStack.empty()) {
// 取出棧頂元素
std::cout << "Top element: " << myStack.top() << std::endl;
// 彈出棧頂元素
myStack.pop();
} else {
std::cout << "Stack is empty." << std::endl;
}
class StackEmptyException : public std::exception {
public:
virtual const char* what() const throw() {
return "Stack is empty";
}
};
if (myStack.empty()) {
throw StackEmptyException();
}
在使用C++ STL中的stack時,合理的異常處理策略可以提高代碼的健壯性和可維護性,確保程序在異常情況下能夠正確處理并避免崩潰。