以下代碼會拋出NullPointerException
,這不是由我的try catch
處理的。爲什麼會這樣,我該如何處理這個異常?無法捕捉到異常
try
{
URL url = MyTestApp.class.getResource("deliberately_bad_path/icon.png");
Image img = Toolkit.getDefaultToolkit().createImage(url);
ImageIcon icon = new ImageIcon(img);
} catch (Exception e)
{
System.out.println("Okay it was an Exception");
e.printStackTrace();
} catch (Throwable e)
{
System.out.println("Okay it was a throwable");
e.printStackTrace();
}
所以異常沒有被捕獲並顯示了下面的輸出:
未被捕獲的錯誤獲取圖像:
顯示java.lang.NullPointerException
在sun.awt.image.URLImageSource.getConnection (Unknown Source)
at sun.awt.image.URLImageSource.getDecoder(Unknown Source)
at sun.awt.image.InputStreamImageSource.doFetch(Unknown Source)
在sun.awt.image.ImageFetcher.fetchloop(來源不明)
在sun.awt.image.ImageFetcher.run(來源不明)
使用'test'而不是'url'來創建圖像是否正確? – josivan
對不起,我在複製時重命名了一些內容,它只是一個錯字,現在會更正。 –
他的'catch(Exception e)'應該抓住NullPointer嗎? – Ivaro18