2012-09-19 47 views
0

我有兩個使用Processing.org語言編寫的應用程序。他們非常基本,定期打電話到互聯網,並顯示數據。Processing.org應用程序有時會出現崩潰而無指示

有時,這些程序運行了一段時間後,它們會因不明原因而崩潰。真正的問題在於,應用程序不會以任何方式發出崩潰信號。屏幕坐在那裏,就好像它正在等待下一個數據位 - 通常可能是幾分鐘,所以屏幕空白似乎並不奇怪。

有沒有辦法導致Processing.org應用程序關閉或出現任何致命錯誤時顯示錯誤消息?

謝謝。

+0

很難猜出沒有代碼或詳細解釋的問題。有可能錯誤不可能被處理,如果請求服務器超時或應用程序凍結(只是瘋狂猜測)?此外,您可能希望查看崩潰日誌/提示 –

+0

這些錯誤非常罕見,有時必須在遇到之前運行數小時。我想我最終會清除原因,但這就是爲什麼我詢問是否存在「導致應用程序在任何致命錯誤發生時關閉/顯示消息的方法」。 – Chris

回答

0

處理程序是Java程序。正如喬治在他的評論中提到的那樣,從這個問題中不可能知道什麼可能會拋出導致程序崩潰的異常。

但是,如果從主程序循環(加工的draw()函數)內產生的異常,你可以包裝在一個try-catch塊和處理異常可見方式,如:

void draw() { 
    try { 
     // your code here... 
    } catch (Exception e) { 
     // display the Exception message on-screen 
    } 
} 

您可能還需要設置一個標誌,告訴程序只將該異常消息繪製到屏幕上,而不是繼續運行有問題的代碼。

由於異常可能會從程序其他的某處拋出,而不是draw()循環,因此您不一定會在此處捕獲該異常。那麼你最好的選擇就是看日誌。如果您在OSX上,請嘗試Console.app(在/ Applications/Utilities中)查看您的程序是否向stderr吐口水。我不知道Windows的等價物,但應該在某處存在日誌。

總之,「喬治說什麼」。但希望這個答案以有用的方式闡述。

相關問題