網站首頁 健康小知識 母嬰教育 起名 運動知識 職場理財 情感生活 綠色生活 遊戲數碼 美容 特色美食 愛好
當前位置:酷知知識幫 > 遊戲數碼 > 電腦

Java常見異常和錯誤

欄目: 電腦 / 發佈於: / 人氣:2.87W

總結JAVA常見的異常和錯誤。

操作方法

(01)1、 在某一路徑下執行編譯好的class文件出錯。異常如下:E:liwy>java Test98Exception in thread "main" assDefFoundError: Test98如果出現了以上錯誤提示,常見問題有如下兩種:1 大小寫寫錯了, 2 路徑不正確。

Java常見異常和錯誤

(02)2、數組錯誤,訪問不存在的數組,數組超出綁定,代碼如下:public class ArrayDemo{public static void main(String args[]){int array[] = null; //聲明數組array = new int[3]; //為數組開闢空間,大小為3for(int i=0;i<th;i++){tln("array["+i+"]="+i);}//訪問數組沒有開闢的下標,這時會報異常tln("array[3]="+array[3]);}}異常如下:array[0]=0array[1]=1array[2]=2Exception in thread "main" yIndexOutOfBoundsException: 3at ()以上就是數組的索引超出綁定,就是表示數組越界。

(03)3、某個類沒有實例化,訪問類屬性時,出現空指針異常class Person{String name ;  // 聲明姓名屬性int age ;   // 聲明年齡屬性public void tell(){ // 取得信息tln("姓名:" + name + ",年齡:" + age) ;}};public class ClassDemo03{public static void main(String args[]){Person per = null ;  // 聲明對象//per = new Person() ; // 實例化對象 = "張三" ;  // 為姓名賦值 = 30 ;   // 為年齡賦值() ;   // 調用方法,打印信息}};異常如下:Exception in thread "main" PointerExceptionat ()

(04)4、錯誤的多態,出現異常class A{     // 定義類Apublic void fun1(){  // 定義fun1()方法tln("A --> public void fun1(){}") ;}public void fun2(){1() ;  // 調用fun1()方法}};class B extends A{public void fun1(){  // 此方法被子類覆寫了tln("B --> public void fun1(){}") ;}public void fun3(){tln("B --> public void fun3(){}") ;}};public class PolDemo03{public static void main(String asrgs[]){A a = new A() ;   // 實例化了一個父類對象B b = (B)a ;  // 發生了向下轉型關係1() ;2() ;3() ;}};異常如下:Exception in thread "main" sCastException: Aat ()

(05)5、兩個數字相除,被除數為0,出現異常public class ExceptionDemo01{public static void main(String args[]){tln("********** 計算開始 ***********") ;int i = 10 ;  // 定義整型變量int j = 0 ;   // 定義整型變量int temp = i / j ; // 此處產生了異常tln("兩個數字相除的結果:" + temp) ;tln("********** 計算結束 ***********") ;}};異常如下:********** 計算開始 ***********Exception in thread "main" hmeticException: / by zeroat (:6)

(06)6、兩個數字相除,輸入兩個參數,分別為字母a 和b,出現異常,數字格式化出問題public class ExceptionDemo04{public static void main(String args[]){tln("********** 計算開始 ***********") ;int i = 0 ;  // 定義整型變量int j = 0 ;   // 定義整型變量try{String str1 = args[0] ;  // 接收第一個參數String str2 = args[1] ;  // 接收第二個參數i = eInt(str1) ; // 將第一個參數由字符串變為整型j = eInt(str2) ; // 將第二個參數由字符串變為整型int temp = i / j ; // 此處產生了異常tln("兩個數字相除的結果:" + temp) ;tln("----------------------------") ;}catch(ArithmeticException e){ // 捕獲算術異常tln("出現異常了:" + e) ;}tln("********** 計算結束 ***********") ;}};異常如下:********** 計算開始 ***********Exception in thread "main" erFormatException: For input string: "a"at nputString()at eInt()at eInt()at (

(07)7、兩個數字相除,輸入兩個參數,如果兩個參數什麼也不輸入,出現異常,數組超出綁定。異常如下:********** 計算開始 ***********Exception in thread "main" yIndexOutOfBoundsException: 0at (:7)

(08)7、assert斷言的使用,當斷言結果不對出現異常。public class Test{public static void main(String args[]){int i[] = {1,2,3};   // 數組長度為3assert th==0;  // 此處斷言數組長度為0}}異常如下:D:d代碼>java -ea TestException in thread "main" rtionErrorat (:5)l 斷言需要在運行時需要加上“-ea”,如上java –ea 類名。

Tags:JAVA