2012-12-31 84 views
0

爲什麼不是這行代碼的工作?爲什麼這行Java代碼會導致我的應用程序退出?

int display_width = display.getCurrent().getWidth(); 

當我開始我的midlet時,我看到這個錯誤:異常。應用程序意外退出。聯繫應用程序提供商以解決問題。 0.

爲什麼?

+0

目前沒有?......當然,更多的情況下是有幫助... –

+1

驗證是否display.getCurrent()= = null – user1929959

回答

1

這裏有可能引發異常,但庫隱藏在用戶友好的錯誤消息後面。

我的猜測是display.getCurrent()返回null,所以getWidth()導致NullPointerException。 試試這個:

Display myDisplay = display.getCurrent(); 
System.out.println(myDisplay); 
int display_width = myDisplay.getWidth(); 

注意,您需要更換Display類可不管display.getCurrent()的返回值的類型。

或者,更好的,你可以嘗試捕獲異常:

try { 
    int display_width = display.getCurrent().getWidth(); 
} catch (RuntimeException e) { 
    e.printStackTrace(); 
    throw e; 
} 
+0

給定了問題中的代碼片段,甚至有'display'顯示爲null的機會;在這種情況下,NPE可能會拋出'display.getCurrent()' – gnat

+0

是真的。無論哪種方式,捕捉異常將診斷問題。 – zjagannatha

相關問題