当然,我的应用程序是没有bug的,但是只是为了防止它包含任何我想放在通用异常捕捉器中的底部值,它至少会弹出一个消息框,告诉用户要报告什么类型的bug。因为我在用
gi-gtk
我认为初始化后的任何异常都将从
Gtk.main
函数,所以我的结束
main
函数看起来像这样:
let executeProgram =
catch Gtk.main $ \e -> do
reportThisBugDialog $ show (e :: SomeException)
-- Code here to try to recover to a known good state
executeProgram
executeProgram