0
我知道這不是一個好的做法,可以捕捉錯誤,但在這種情況下,重要的是要做到這一點。我試圖運行其中包含我的遊戲的一部分的罐子,但它給我一個unsatisfiedlink錯誤,但這裏是有趣的部分: 我使用這個代碼:捕捉不滿意的鏈接錯誤
System.setProperty("org.lwjgl.librarypath", new File("lib/natives").getAbsolutePath());
但在NetBeans中,它給了我這個錯誤,但是,jar運行。現在,如果我改變代碼,這樣:
System.setProperty("org.lwjgl.librarypath", new File("Dist/lib/natives").getAbsolutePath());
現在,它運行在NetBeans,但罐子它不工作...我不明白這一點!,因此,我試圖使用try/catch語句爲使用兩者,並且還有這是完整的代碼:
try{
System.setProperty("org.lwjgl.librarypath", new File("lib/natives").getAbsolutePath());
}
catch (UnsatisfiedLinkError e){
System.setProperty("org.lwjgl.librarypath", new File("dist/lib/natives").getAbsolutePath());
}
,當我在NetBeans中運行它,它給我的錯誤的第一線,而不是抓的錯誤部分。這是怎麼回事?在此先感謝朋友!
我不會把第二個System.setProperty()放在catch塊中。將每個System.setProperty()調用放到一個try {}塊中,並在每個塊中設置一個布爾值,以表明catch是否被命中。因此,首先嚐試第一個System.setProperty()的{}塊,並且如果catch塊由於錯誤而被觸發,請設置一個布爾值來表示應該在其try塊中嘗試替代System.setProperty()。 –
哦,謝謝你,但顯然,我現在正在做一個混亂的代碼,因爲jar通過雙擊運行,但如果我嘗試從cmd運行它,它沒有運行。 –