所以,想象一下我有这个代码:
typedef struct Point {
float x;
float y;
} Point;
class Foo {
private:
Point * p;
public:
Foo () {
this->p = (Point *) malloc(sizeof(Point));
if (this->p == NULL) {
// throw exception_malloc_fail;
}
}
};
Run Code Online (Sandbox Code Playgroud)
一旦 malloc 在构造函数内分配内存失败,我应该抛出哪种异常?
在这种情况下,我不能简单地 returnfalse或NULL。所以throw声明应该是要走的路。
但是,我找不到要抛出的正确类型的异常。我应该抛出一个默认异常吗?或者有没有适合这种情况的?