在C++中處理point
類的異常情況,通常需要考慮以下幾個方面:
point
類成員函數(shù)時,使用try-catch塊來捕獲并處理異常。下面是一個簡單的point
類示例,展示了如何處理異常情況:
#include <iostream>
#include <stdexcept>
class point {
private:
int x, y;
public:
point(int x = 0, int y = 0) : x(x), y(y) {
if (x < 0 || y < 0) {
throw std::invalid_argument("Coordinates must be non-negative.");
}
}
// 其他成員函數(shù)...
};
int main() {
try {
point p(-1, 2); // 這將拋出一個異常
// ... 其他代碼
} catch (const std::invalid_argument& e) {
std::cerr << "Caught an exception: " << e.what() << std::endl;
// ... 處理異常
}
return 0;
}
在這個示例中,point
類的構(gòu)造函數(shù)檢查輸入坐標(biāo)是否為非負(fù)數(shù)。如果坐標(biāo)無效,它將拋出一個std::invalid_argument
異常。在main
函數(shù)中,我們使用try-catch塊來捕獲并處理這個異常。