Was ist eine Null-Zeiger-Ausnahme in Java

Mohammad Irfan 12 Oktober 2023
  1. Was ist NullPointerException in Java?
  2. Behandeln Sie die Klasse NullPointerException in Java
  3. Behandeln Sie die Klasse NullPointerException in Java
  4. Begegnungen mit NullPointerException in Befehlszeilenargumenten in Java
Was ist eine Null-Zeiger-Ausnahme in Java

In diesem Tutorial wird die Java-Nullzeigerausnahme und deren Handhabung vorgestellt. Wir haben einige Beispielprogramme für Sie bereitgestellt.

In Java ist der Standardwert jeder Referenzvariablen ein Nullwert, der auf einen Speicherort zeigt, aber keinen assoziierten Wert hat. Wenn ein Programmierer versucht, eine Operation mit dieser Referenzvariablen auszuführen, löst er aufgrund von Nullbedingungen eine Null-Zeiger-Ausnahme aus.

Dies ist ein Szenario, in dem diese Ausnahme auftreten kann, aber diese Ausnahme ist in Java am häufigsten aufgetreten – was den Code unterbricht und zu anormalen Ausführungsabläufen führt. Die folgenden Punkte können in einem Java-Code NullPointerException auslösen:

  • Aufrufen der Instanzmethode eines Nullobjekts.
  • Ändern des Felds eines Nullobjekts.
  • Behandlung der Länge von null wie ein Array.

Um diese Ausnahme zu behandeln, stellt Java eine Klasse NullPointerException bereit, die sich im Paket java.lang befindet. Wir können diese Klasse im catch-Block verwenden, um den Ausnahmetyp anzugeben und ihn dann abzufangen, um einen Codebruch zu vermeiden.

Was ist NullPointerException in Java?

Das einfachste Beispiel, um die Klasse NullPointerException zu verstehen, besteht darin, ein string-Objekt zu erstellen und dann eine Methode wie toUpperCase() anzuwenden, um den String in Großbuchstaben umzuwandeln. Schauen Sie sich das folgende Beispiel an und beachten Sie, dass es eine Ausnahme auslöst, da das Objekt string leer ist:

public class SimpleTesting {
  static String str;
  public static void main(String[] args) {
    String newStr = str.toUpperCase();
    System.out.println(newStr);
  }
}

Ausgabe:

Exception in thread "main" java.lang.NullPointerException

Behandeln Sie die Klasse NullPointerException in Java

Um Ausnahmen zu behandeln, stellt Java einen Try-Catch-Block bereit. Hier können wir diese Blöcke verwenden, um NullPointerException abzufangen und eine abnormale Programmbeendigung zu vermeiden. Überprüfen Sie das folgende Beispiel:

public class SimpleTesting {
  static String str;
  public static void main(String[] args) {
    try {
      String newStr = str.toUpperCase();
      System.out.println(newStr);
    } catch (NullPointerException e) {
      System.out.println("Null Pointer: " + e.getMessage());
    }
  }
}

Ausgabe:

{One=1, Two=2, Three=3}

Behandeln Sie die Klasse NullPointerException in Java

Wenn Sie den Nullverweis bereits kennen, können Sie einen if-else-Block verwenden, um zuerst die Variable zu validieren, bevor Sie eine Operation anwenden. Diese Methode ist eine ausgezeichnete Lösung, funktioniert jedoch nur, wenn Sie den Nullverweis zuvor kennen. Siehe den Code hier:

public class SimpleTesting {
  static String str;
  public static void main(String[] args) {
    if (str != null) {
      String newStr = str.toUpperCase();
      System.out.println(newStr);
    } else
      System.out.println("String is null");
  }
}

Ausgabe:

String is null

Begegnungen mit NullPointerException in Befehlszeilenargumenten in Java

Dies ist ein weiteres Szenario, in dem eine Null-Zeiger-Ausnahme auftreten kann. Das Array args[] der Methode main() enthält Kommandozeilenargumente, und wenn während der Laufzeit kein Argument angegeben wird, zeigt dies auf eine Null-Referenz. Das Abrufen seiner Länge gibt NullPointerException zurück. Siehe das Beispiel unten:

public class SimpleTesting {
  static String[] arr;
  public static void main(String[] args) {
    int length = arr.length;
    System.out.println("Array length : " + length);
  }
}

Ausgabe:

Exception in thread "main" java.lang.NullPointerException

Verwandter Artikel - Java Exception