代码中有这么一段:
// FIXME: add other, more specific
// exceptions.
try {
std::set_terminate(fg_terminate);
atexit(fgExitCleanup);
if (fgviewer)
fgviewerMain(argc, argv);
else
fgMainInit(argc, argv);
} catch (const sg_throwable &t) {
// We must use cerr rather than
// logging, since logging may be
// disabled.
cerr << "Fatal error: " << t.getFormattedMessage() << endl;
if (std::strlen(t.getOrigin()) != 0)
cerr << " (received from " << t.getOrigin() << ')' << endl;