/****************************************************************************** * * newthrow.cpp * * Copyright (c) 1999, 2000 Microsoft Corporation. All Rights Reserved. * * Abstract: * * Contents: * *****************************************************************************/ #include "dimapp.h" #include #include #pragma warning(disable:4073) #pragma init_seg(lib) int __cdecl my_new_handler(size_t) { throw MAP_EXCEPTION(E_OUTOFMEMORY); return 0; } struct _tag_g_new_handler_obj{ _PNH _old_new_handler; int _old_new_mode; _tag_g_new_handler_obj() { _old_new_mode = _set_new_mode(1); _old_new_handler = _set_new_handler(my_new_handler); } ~_tag_g_new_handler_obj() { _set_new_handler(_old_new_handler); _set_new_mode(_old_new_mode); } } _g_new_handler_obj;