その名のとおり、ClassNotFoundException は、Java 仮想マシン (JVM) によって特定のクラスをロードしようとすると Java で発生します。要求されたクラスが指定したクラスのパスに見つかりません。これは、指定したクラスのパスが壊れていることを意味します。これは Java の世界ではよくある問題です。したがって、Java では ClassNotFoundException もよく発生します。この問題は Java の初心者にとって非常に混乱するものであり、ClassNotFoundException をキャッチするか、呼び出し元にスローする必要があります。 ClassNotFoundException はチェック例外です。
広告 このカテゴリーの人気コース JAVA マスタリー - スペシャライゼーション | 78 コース シリーズ | 15 回の模擬テスト無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
Java での ClassNotFoundException の構文は次のとおりです:
java.lang.ClassNotFoundException:Class_name at location
//a class called program is defined public class Program { //main method is called public static void main(String args[]) { //class not found exception is defined using try and catch block try { // the forname method in class class looks for the mentioned class Class.forName("The Class do not Exist"); } catch (ClassNotFoundException e) { e.printStackTrace(); } } }
上記のプログラムの出力は、以下のスナップショットに示されているとおりです。
上記のプログラムでは、Programというクラスが定義されています。次に、main メソッドが呼び出されます。次に、try and catch ブロックを使用してクラスが見つからない例外を定義します。クラスは存在しません。クラスローダーが見つけようとしているjavaクラスがあり、クラス内のfornameメソッドが言及されたクラスを探しますが、見つかりません。したがって、ClassNotFoundException がスローされます。プログラムの出力は、上のスナップショットに示されているとおりです。
Java には ClassNotFoundException のコンストラクターがいくつかあります。それらは次のとおりです:
以下に挙げる例を次に示します:
ClassNotFoundException を示す Java プログラム:
コード:
//a class called exceptiondemo is defined public class Exceptiondemo { //a string variable is defined private static final String DRIVE_CLASS = "com.mysql.jdbc.Driver"; //main method is called including the exception public static void main(String[] args) throws Exception { System.out.println("MySQL JDBC driver loading attempt"); //the forname method in class class looks for the mentioned class Class.forName(DRIVE_CLASS); } }
上記のプログラムの出力は、以下のスナップショットに示されているとおりです。
上記のプログラムでは、Exception Demonというクラスが定義されています。次に、main メソッドが呼び出されます。次に、JDBC ドライバーのパスが割り当てられる文字列変数が定義されます。次に main メソッドが呼び出され、例外がスローされます。クラス ローダーは、指定されたクラスの JDBC ドライバー パスを見つけようとしますが、クラス内の forname メソッドは、指定されたクラスを探しますが、見つかりません。したがって、ClassNotFoundException がスローされます。プログラムの出力は、上のスナップショットに示されているとおりです。
ClassNotFoundException(String) をデモする Java プログラム
コード:
//a class called check is defined public class Check { //main method is called public static void main(String args[]) { //class not found exception is defined using try catch block try { //the forname method in class class looks for the mentioned class Class.forName("Demonstrating class not found exception"); } catch(ClassNotFoundException e) { //the string specified along with the class not found exception is displayed. System.out.println("There is no class as specified in the path " + e); } } }
上記のプログラムの出力は、以下のスナップショットに示されているとおりです。
上記のプログラムでは、checkというクラスが定義されています。次に、main メソッドが呼び出されます。次に、main メソッドが呼び出されます。次に、try および catch ブロックを使用してクラスが見つからない例外を定義します。 次に、クラスの forename メソッドは、指定されたクラスを探しますが、見つかりません。したがって、ClassNotFoundException がスローされ、クラスが見つからない例外とともに詳細メッセージとして指定された文字列が表示されます。プログラムの出力は、上のスナップショットに示されているとおりです。
ClassNotFoundException を回避する手順:
このチュートリアルでは、定義を通じて Java の Class Not Found Exception の概念、Java の Class Not Found Exception の構文、Java の Class Not Found Exception の動作、および例とその出力を通じてそのコンストラクターを理解します。
以上がJava ClassNotFoundExceptionの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。