ClassNotFoundException,是個Exception異常,壹般在反射時遇到,是動態加載時報錯的,動態加載是開發者故意設計的業務邏輯,本身就有失敗的可能,所以建議捕獲。
NoClassDefFoundError,是個Error錯誤,這個錯誤發生時,在編譯時都沒有問題,但是運行時,JVM或者ClassLoader去加載某個類,發現這個類找不到了,就會報這個錯誤。這壹般是運行環境的問題,例如缺少庫文件什麽的,這個錯誤與業務邏輯無關,是必須解決掉的錯誤,否則軟件無法繼續運行,所以不建議捕獲。