NullPointerException

NullPointerException

NullPointerException是java.lang.NullPointerException的簡稱,是Java語言中的一個異常類,位於java.lang包中,父類是java.lang.RuntimeException。該異常在源程式中可以不進行捕獲和處理。

基本介紹

  • 中文名:空指針異常
  • 外文名:NullPointerException
  • 範疇:Java語言
  • 父類:java.lang.RuntimeException
簡介,示例程式,

簡介

當應用程式試圖在需要對象的地方使用 null 時,拋出該異常。這種情況包括:
  • 調用 null 對象的實例方法。
  • 訪問或修改 null 對象的欄位。
  • 如果一個數組為null,試圖用屬性length獲得其長度時。
  • 如果一個數組為null,試圖訪問或修改其中某個元素時。
  • 在需要拋出一個異常對象,而該對象為 null 時。
應用程式將會拋出NullPointerException類的實例,表明其他對 null 對象的非法使用。

示例程式

以下給出上面5種情況的示例程式。
(1)調用 null 對象的實例方法。
class Point {    public int x, y;    public int getX() {         return x;    }}public class TestNullPointerException {    static Point p1;        public static void main(String args[]){                p1.getX(); // 此處拋出NullPointerException                }}
(2)訪問或修改 null 對象的欄位。
class Point {    public int x, y;    public int getX() {         return x;    }}public class TestNullPointerException {    static Point p1;        public static void main(String args[]){                p1.x = 1; // 此處拋出NullPointerException                }}
(3)如果一個數組為null,試圖用屬性length獲得其長度時。
public class TestNullPointerException {        static int[] ia;        public static void main(String args[]){                System.out.println(ia.length);    // 此處拋出NullPointerException            }}
(4)如果一個數組為null,試圖訪問或修改其中某個元素時。
public class TestNullPointerException {        static int[] ia;        public static void main(String args[]){                ia[0] = 1;    // 此處拋出NullPointerException            }}
(5)在需要拋出一個異常對象,而該對象為 null 時。
class MyException extends RuntimeException {}public class TestNullPointerException {        static MyException e;        public static void main(String args[]){                        throw e; // 此處拋出NullPointerException    }}

相關詞條

熱門詞條

聯絡我們