2009-02-11 74 views
2

編輯:這隻適用於模擬器,但我仍然想知道是否有解決方案。如何在黑莓應用程序中捕獲未被捕獲的異常?

我在黑莓應用程序中有一些代碼在某個時刻捕獲一個異常,在catch塊中做了一些處理,然後重新拋出異常,這個異常在調用堆棧上被捕獲得更高。但是,即使我稍後再捕捉它,仍然會看到模擬器上顯示的錯誤消息,以及設備日誌中的jvm 104錯誤。還有什麼我需要做的,以抑制這個錯誤屏幕顯示時,我已經趕上了它抱怨的異常?

回答

4

您是否嘗試過JDE首選項菜單,模擬器選項卡,調試子選項卡?在那裏有一個選項,標籤爲「catch(catch)捕獲異常時不停止執行」。也許這會做到這一點? (假設你從JDE啓動模擬器)

+0

我通常使用Eclipse插件,但其他影響人的只是直接啓動模擬器。由於這不是一個設備問題,我想知道是否有一個命令行選項可以在啓用該選項時從jde啓動時執行此操作。 – Kevlar 2009-02-11 21:58:44

+0

嘗試使用-help選項運行fledge.exe(在您的模擬器目錄中)。它看起來像可能有一個命令行選項來使用/ ignore-error = {int}來禁用特定的錯誤,或者可能在你的情況/ ignore-error = 104 – 2009-02-11 22:43:21

2

你實際上是在做一個catch(Throwable)嗎?正如馬克所說,這將出現在模擬器上的錯誤日誌中。 RIM不鼓勵你在性能受到影響時這樣做(我會避免咆哮他們的JVM設計),所以這可能是通過以不同方式捕獲事情來解決這個問題的另一個理由(例如,不是Throwable,而是更具體的異常類型 - 除非你真的需要這個堆棧跟蹤)。