在C++中处理point
类的异常情况,通常需要考虑以下几个方面:
point
类成员函数时,使用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.");
}
}
// 其他成员函数...
};
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
类的构造函数检查输入坐标是否为非负数。如果坐标无效,它将抛出一个std::invalid_argument
异常。在main
函数中,我们使用try-catch块来捕获并处理这个异常。