[英]Catching Haskell exceptions with gi-gtk and Reactive Banana
當然,我的應用程序沒有錯誤,但是如果它包含任何底部值,我想放入一個通用異常捕獲器,它至少會彈出一個消息框告訴用戶要報告什么類型的錯誤。 因為我正在使用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
我也使用Reactive Banana以防相關,但這不在FRP代碼中。
但是,這不會捕獲任何異常。 我在“幫助關於”的處理程序中輸入error "Test Exception"
,我的程序剛退出並在控制台上打印了一條消息(我的用戶當然不會看到)。
當我對代碼響應GTK信號時,如何捕獲代碼中發生的異常?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.