2012-03-27 42 views
5

我使用下面的代碼行中的所有我的catch語句的打印錯誤控制檯:爲什麼我的BlackBerry異常getMessage()返回null?

System.out.println("ERROR MESSAGE " + e.getMessage()); 

有時,在控制檯中,我得到如下:

ERROR MESSAGE null 

如何它可以爲空嗎?如果它到達catch表示拋出異常,但爲什麼null?

回答

6

我不知道爲什麼它是空的,我只是假設BlackBerry OS和API有很多不受歡迎的行爲。我解決了這個問題,通過使用

e.toString()

爲:

catch (Exception e) 
{  
    System.out.println("Exception caught: " + e.toString()); 
} 
+0

e.toString()似乎確定,到目前爲止,仍然無法弄清楚,爲什麼有些時候,消息將是空的。謝謝 – PaulG 2012-03-27 15:16:48

+5

並非所有BlackBerry OS引發的異常,或者某些程序都設置了消息值,因此它默認爲空。至少toString()會給你拋出的實際異常的類名。通常這就夠了。 – Richard 2012-03-27 18:04:18