Ausnahme bei ungültiger Eingabe in Java

Sheeraz Gul 12 Oktober 2023
  1. Wenn das Eingabeargument in Java ungültig ist
  2. Wenn die Eingabe in Java Null ist
  3. Benutzerdefinierte Ausnahme für ungültige Eingaben in Java
Ausnahme bei ungültiger Eingabe in Java

Java bietet keine Ausnahme mit dem Namen Invalid Input, aber einige IO-Ausnahmen und Laufzeitausnahmen können verwendet werden, um ungültige Eingaben zu behandeln; Wir können je nach Situation eine von IO-Ausnahmen erhalten oder eine benutzerdefinierte Ausnahme für ungültige Eingaben erstellen.

Dieses Tutorial zeigt, wie Sie Ausnahmen für ungültige Eingaben in Java verwenden.

Wenn das Eingabeargument in Java ungültig ist

Wenn wir mit Methoden arbeiten, setzen wir manchmal ungültige Eingabeargumente, dann wird die IllegalArgumentException abgefangen. Das folgende Beispiel demonstriert die IllegalArgumentException in Java.

package delftstack;

public class Invalid_Argument {
  public static void main(String[] args) {
    Thread Demo_Thread = new Thread(new Runnable() {
      public void run() {
        try {
          Thread.sleep(-100);
        } catch (InterruptedException e) {
          e.printStackTrace();
        }
        System.out.println("Hello! This is delftstack.com");
      }
    });

    Demo_Thread.setName("Delftstack Thread");
    Demo_Thread.start();
  }
}

Der obige Code löst IllegalArgumentException aus, weil die Eingabe in Thread.sleep() ungültig ist. Siehe Ausgabe:

Exception in thread "Delftstack Thread" java.lang.IllegalArgumentException: timeout value is negative
	at java.base/java.lang.Thread.sleep(Native Method)
	at delftstack.Invalid_Argument$1.run(Invalid_Argument.java:10)
	at java.base/java.lang.Thread.run(Thread.java:833)

Wenn die Eingabe in Java Null ist

Wenn einem Objekt ein Nullwert zugewiesen wird oder wir versuchen, eine Nulleingabe zu manipulieren, wird die NullPointerException ausgelöst. Es kann auch als Ausnahme bei ungültiger Eingabe verwendet werden.

Siehe Beispiel:

package delftstack;

import java.io.*;

public class Null_Invalid {
  public static void main(String[] args) {
    String Demo = null;
    try {
      if (Demo.equals("delftstack"))
        System.out.print("The Strings are equal");
      else
        System.out.print("The Strings are not equal");
    } catch (NullPointerException e) {
      System.out.print("The String is null");
      e.printStackTrace();
    }
  }
}

Der obige Code zeigt, dass die Verwendung einer Nullzeichenfolge ungültig sein kann. Dieser Code wirft die NullPointerException, weil ein Null-String mit einem anderen String verglichen wird.

Siehe Beispiel:

The String is null
java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "Demo" is null
	at delftstack.Null_Invalid.main(Null_Invalid.java:9)

Benutzerdefinierte Ausnahme für ungültige Eingaben in Java

Lassen Sie uns eine Ausnahme erstellen, wenn der Benutzer eine ID eingibt. Wenn es nicht in der Datenbank vorhanden ist, wird die Ausnahme ungültige ID ausgelöst.

Siehe Beispiel:

package delftstack;

import java.util.*;

class InValid_ID extends Exception {
  public InValid_ID(String ID) {
    super(ID);
  }
}
public class Invalid_Input {
  // Method to find ID
  static void find_ID(int input_array[], int ID) throws InValid_ID {
    boolean condition = false;
    for (int i = 0; i < input_array.length; i++) {
      if (ID == input_array[i]) {
        condition = true;
      }
    }
    if (!condition) {
      throw new InValid_ID("The ID is you Entered is InValid!");
    } else {
      System.out.println("The ID is you Entered is Valid!");
    }
  }
  public static void main(String[] args) {
    Scanner new_id = new Scanner(System.in);
    System.out.print("Enter the ID number: ");
    int ID = new_id.nextInt();
    try {
      int Input_Array[] = new int[] {123, 124, 134, 135, 145, 146};
      find_ID(Input_Array, ID);
    } catch (InValid_ID e) {
      System.out.println(e);
      e.printStackTrace();
    }
  }
}

Der Code erstellt eine Ausnahme, die ausgelöst wird, wenn die Eingabe-ID ungültig ist, was bedeutet, dass sie nicht in der Datenbank vorhanden ist. Auf ähnliche Weise kann basierend auf der Bedingung eine Ausnahme erstellt werden.

Ausgang:

Enter the ID number: 122
delftstack.InValid_ID: The ID is you Entered is InValid!
delftstack.InValid_ID: The ID is you Entered is InValid!
	at delftstack.Invalid_Input.find_ID(Invalid_Input.java:20)
	at delftstack.Invalid_Input.main(Invalid_Input.java:33)
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

Verwandter Artikel - Java Exception