当然,我的应用程序没有错误,但是如果它包含任何底部值,我想放入一个通用异常捕获器,它至少会弹出一个消息框告诉用户要报告什么类型的错误.因为我正在使用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
Run Code Online (Sandbox Code Playgroud)
我也使用Reactive Banana以防相关,但这不在FRP代码中.
但是,这不会捕获任何异常.我输入error "Test Exception"了"Help About"的处理程序,我的程序刚退出并在控制台上打印了一条消息(我的用户当然不会看到).
当我对代码响应GTK信号时,如何捕获代码中发生的异常?
| 归档时间: |
|
| 查看次数: |
142 次 |
| 最近记录: |