-#ifdef WIN32
- string msg = Debug::demangle(typeid(e).name())+":\n"+e.what();
- MessageBoxA(0, msg.c_str(), "Uncaught exception", MB_OK|MB_ICONERROR);
-#else
- cerr<<"An uncaught exception occurred.\n";
- cerr<<" type: "<<Debug::demangle(typeid(e).name())<<'\n';
- cerr<<" what(): "<<e.what()<<'\n';
-#endif
+ if(!handled)
+ {
+ IO::print(IO::cerr, "An uncaught exception occurred.\n");
+ IO::print(IO::cerr, " type: %s\n", Debug::demangle(typeid(e).name()));
+ IO::print(IO::cerr, " what(): %s\n", e.what());
+ }
+
+ delete app_;
+ app_ = 0;