顧名思義,當 Java 虛擬機器 (JVM) 嘗試載入特定類別時,Java 中會發生 ClassNotFoundException。在你指定的類別的路徑中找不到請求的類,這意味著你指定的類別的路徑被破壞了,這個問題在Java世界裡確實很常見。因此,ClassNotFoundException在Java中也很常見。這個問題對 Java 初學者來說非常困惑,ClassNotFoundException 必須被 catch 或拋出給呼叫者 ClassNotFoundException 是一個受檢查的例外。
廣告 該類別中的熱門課程 JAVA 掌握 - 專業化 | 78 課程系列 | 15 次模擬測驗開始您的免費軟體開發課程
網頁開發、程式語言、軟體測試及其他
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 和 catch 區塊定義類別未找到異常。類別載入器試圖尋找的類別不存在,並且類別中的 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 demo的類別。然後呼叫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 區塊定義類別未找到異常。 然後 class 中的 forename 方法會尋找所提到的類,但找不到;因此,拋出 ClassNotFoundException 並顯示指定為詳細訊息的字串以及未找到類別異常。程式的輸出如上面的快照所示。
避免 ClassNotFoundException 的步驟:
在本教程中,我們透過定義了解Java 中的Class Not Found Exception 的概念、Java 中的Class Not Found Exception 的語法、Java 中的Class Not Found Exception 的工作原理以及透過範例及其輸出來了解它們的構造函數。
以上是Java 類別未找到異常的詳細內容。更多資訊請關注PHP中文網其他相關文章!