java異常方法
『壹』 java中常見的幾種異常
1、空指針異常類:NullPointerException
調用了未經初始化的對象或者是不存在的對象。經常出現在創建圖片,調用數組這些操作中,比如圖片未經初始化,或者圖片創建時的路徑錯誤等等。對數組操作中出現空指針, 即把數組的初始化和數組元素的初始化混淆起來了。
數組的初始化是對數組分配需要的空間,而初始化後的數組,其中的元素並沒有實例化, 依然是空的,所以還需要對每個元素都進行初始化(如果要調用的話)。
2、數據類型轉換異常:java.lang.ClassCastException
當試圖將對某個對橡鍵象強制執行向下轉型,但該對象又不可轉換又不可轉換為其子類的實例時將引發該異常,如下列代碼。
Object obj=newInteger(0);
String str = obj;
3、沒有訪問許可權:java.lang.IllegalAccessException
當應用程序要調用一個類,但當前的方法即沒有對該類的訪問許可權便會出現這個異常。對程序中用了Package的情況下要注意這個異常。
4、方法的參數錯誤:java.lang.IllegalArgumentException
比如g.setColor(int red,int green,int blue)這個方法中的三個值,如果有超過255的也會出現這個異常,因此一旦發現這個異常,我們要做的,就是趕緊去檢查一下方法調用中的參數傳遞是不是出現了錯誤。
5、數組下標越界異常:java.lang.IndexOutOfBoundsException
查看調用的數組或者字元串的下標值是不是稿如孫超出了數組的范圍,一般來說,顯示(即直接用常數當下標)調用不太容易出這樣的錯,但隱式(即用變數表示下標)調用就經常出錯了。
還有一種情況,是程序中定義的數組的長度是通過某些特定方法決定的,不是事先聲明的,這個時候先查看一下數組的length,以免出現這個異常。
6、文件已結束異常:EOFException
當程序在輸入的過程中遇到文件或流的結尾時,引發異常。因此該異常用於檢查是否達到文件或流的結尾
7、文件未找到異常:FileNotFoundException
當程序試圖打開一個不存在的文件進行讀寫時將會引發該異常。該異常由FileInputStream,FileOutputStream,RandomAccessFile的構造器聲明拋出,即使被操作的文件存在,但是由於某些原因不可訪問,比如打開一個只讀文件進行寫入,這些構造方法仍然會引發異常。
8、字元串轉換為數字異常:NumberFormatException
當試圖將一個String轉換為指定的數字類型,而該字元串確不滿足數字類型要求的格式時,拋出該異常.如現在講字元型的數據「123456」轉換為數值型數據時,是允許的。
但是如果字元型數據中包含了非數字型的字元,如123#56,此時轉換為數值型時就會出現異常。系統就會捕捉到這個異常,並進行處理。
9、指定的類不存在:java.lang.ClassNotFoundException
這里主要考慮一下類的名稱和路徑是否正確即可,通常都是程序試圖通過字元串來載入某個類時可能引發異常。比如:鍵鏈調用Class.forName;或者調用ClassLoad的finaSystemClass;或者LoadClass;
10、實例化異常:java.lang.InstantiationException
當試圖通過Class的newInstance方法創建某個類的實例,但程序無法通過該構造器來創建該對象時引發。Class對象表示一個抽象類,介面,數組類,基本類型 。該Class表示的類沒有對應的構造器。
『貳』 JAVA語言如何進行異常處理
Java通過面向對象的方法進行異常處理,把各種不同的異常進行分類,並提供了良好的介面。在Java中,每個異常都是一個對象,它是Throwable類或其它子類的實例。當一個方法出現異常後便拋出一個異常對象,該對象中包含有異常信息,調用這個對象的方法可以捕獲到這個異常並進行處理。Java的異常處理是通過5個關鍵詞來實現的:try、catch、throw、throws和finally。一般情況下是用try來執行一段程序,如果出現異常,系統會拋出(throws)一個異常,這時候你可以通過它的類型來捕捉(catch)它,或最後(finally)由預設處理器來處理。x0dx0a用try來指定一塊預防所有異常的程序。緊跟在try程序後面,應包含一個catch子句來指定你想要捕捉的異常的類型。x0dx0athrow語句用來明確地拋出一個異常。x0dx0athrows用來標明一個成員函數可能拋出的各種異常。x0dx0a可以在一個成員函數調用的外面寫一個try語句,在這個成員函數內部寫另一個try語句保護其他代碼。每當遇到一個try語句,異常的框架就放到堆棧上面,直到所有的try語句都完成。
『叄』 Java 求大神們解答:自定義異常,處理異常
Java 允許我們定義自己的異常,這樣的異常就稱為自定義異常。定義自定義異常的方式是繼承 Exception 類,然後定義一個類來代表該異常。
下面是定義自定義異常類的示例:
================
public class MyException extends Exception {
public MyException() {
super();
}
public MyException(String message) {
super(message);
}
}
================
這里定義了一個名為 MyException 的類,它繼承了 Exception 類,並定義了兩個構造方法,一個是無參構造方法,另一個是帶有一個字元串參數的構造方法,該字元串參數用於傳入錯誤信息。
接下來,我們可以在可能拋出異常的方法中使用 throws 關鍵字聲明該方法可能拋出的異常,並在方法中使用 throw 語句拋出異常。例如:
================
public class UsingMyException {
public void f() throws MyException {
System.out.println("拋出異常MyException 從 f()方法");
throw new MyException();
}
public void g() throws MyException {
System.out.println("拋出異常MyException 從 g()方法");
throw new MyException("從g()方法中拋出異常");
}
}
================
這里我們定義了一個名為 UsingMyException 的類,它包含兩個方法: f() 和 g()。兩個方法都使用了 throws 關鍵字聲明它們可能會拋出 MyException 異常,並在方法內部使用 throw 語句拋出該異常
『肆』 JAVA語言如何進行異常處理
Java通過面向對象的方法進行異常處理,把各種不同的異常進行分類,並提供了良好的介面。
在Java中,每個異常都是一個對象,它是Throwable類或其子類的實例。當一個方法出現異常後便拋出一個異常對象,該對象中包含有異常信息,調用這個對象的方法可以捕獲到這個異常並可以對其進行處理。
Java的異常處理是通過5個關鍵詞來實現的:try、catch、throw、throws和finally。一般情況下是用try來執行一段程序,如果系統會拋出(throw)一個異常對象,可以通過它的類型來捕獲(catch)它,或通過總是執行代碼塊(finally)來處理;try用來指定一塊預防所有異常的程序;
catch子句緊跟在try塊後面,用來指定你想要捕獲的異常的類型;
throw語句用來明確地拋出一個異常;
throws用來聲明一個方法可能拋出的各種異常(當然聲明異常時允許無病呻吟);
finally為確保一段代碼不管發生什麼異常狀況都要被執行。