Здравствуйте, Sheridan, Вы писали:
S>Ты имеешь в виду ошибки типа "память кончилась"?
Память, кончилась, юзер что-то не так сделал, да мало ли...
S>Ну явно их надо перехватывать не в каждой из функций программы и вообще желательно повыше и в одном месте. А уж там то можно сделать всё без утечек памяти.
По-моему, ты не совсем понял сценарий ошибки.
class cobject
{
public:
cobject()
: p1(new vertexbuf())
, p2(new vertexbuf()) // <--- Вот здесь летит исключение, объект p1 подвис навеки.
{
}
virtual ~cobject()
{
delete p1;
delete p2;
}
private:
vertexbuf* p1;
vertexbuf* p2;
};
Никакими перехватами, тем более "повыше" эта проблема не решается.