防止GTKMM捕获异常

时间:2014-09-24 14:11:24

标签: c++ gtkmm

有没有办法阻止'Gtk :: Main :: iteration()'捕获异常?

每当在处理程序中抛出异常时,它就会捕获,然后程序以SIGTRAP(在linux中)完成。随着消息:

(test.debug.bin:32233): glibmm-ERROR **: 
unhandled exception (type std::exception) in signal handler:
what: test

1 个答案:

答案 0 :(得分:3)

不,抱歉。这个未处理的异常消息只是一个没有消息的崩溃的更有用的替代方法,如果gtkmm没有这样做,这就是你得到的。您需要在自己的代码中处理信号处理程序中的异常。

这是因为您的gtkmm信号处理程序实际上是由GTK + C代码调用的,编译为C,并且不能通过C代码传递C ++异常,而不是C ++代码可能称为C代码