2017-02-18 24 views
1

有沒有辦法可以忽略一個java.lang.NoClassDefFoundError像try catch那裏它調用缺少的類?我不需要修復缺失的類,因爲這是我程序的一部分。處理「NoClassDefFoundError」?

+0

你能與我們分享任何代碼? –

+0

當類在classpath中運行時不可用時,會出現'NoClassDefFoundError'。如果它不存在,那麼你怎麼能指望它召喚失蹤的班級。 – BeginnersSake

+0

@BeginnersSake不,我希望代碼繼續前進,而不是停止/崩潰,我只是希望它忽略它所稱的缺失類的代碼 – WilliamTaco

回答

2

我不需要修復丟失的類,因爲這是我的程序的一部分。

我不能完全確定你想什麼在這裏實現,但你應該能夠catch一個NoClassDefFoundError,以防止你的JVM崩潰。假設A具有的類別-aB的參考。如果B.class不是在運行時可用,您可以處理NoClassDefFoundError如下:

class C { 
    public static void main(String args[]) { 
     try { 
      A a = new A(); 
     } catch (NoClassDefFoundError e) { 
      //log the error or take some action 
     } 

     System.out.println("All good here, lets continue"); 
    } 
} 
+0

不清楚如果沒有定義'A'類,這將如何編譯 –

+1

@ cricket_007我沒有完全遵循。我似乎沒有提到在我的答案中沒有定義「A」類。你是不是指'B.class'? – CKing

+0

可能,是的。我一定跳過了解釋 –