Excepción de entrada no válida en Java

Sheeraz Gul 12 octubre 2023
  1. Cuando el argumento de entrada no es válido en Java
  2. Cuando la entrada es nula en Java
  3. Excepción definida por el usuario para entrada no válida en Java
Excepción de entrada no válida en Java

Java no proporciona una excepción con el nombre “Entrada no válida”, pero algunas excepciones de IO y excepciones de tiempo de ejecución se pueden usar para manejar entradas no válidas; podemos obtener una de las excepciones de IO según la situación, o podemos crear una excepción definida por el usuario para entradas no válidas.

Este tutorial demuestra cómo usar excepciones para entradas no válidas en Java.

Cuando el argumento de entrada no es válido en Java

Cuando trabajamos con métodos, a veces ponemos argumentos de entrada no válidos y luego se detecta la IllegalArgumentException. El siguiente ejemplo demuestra la IllegalArgumentException en 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();
  }
}

El código anterior arroja IllegalArgumentException porque la entrada a Thread.sleep() no es válida. Ver salida:

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)

Cuando la entrada es nula en Java

Cuando se asigna cualquier valor nulo a un objeto, o intentamos manipular una entrada nula, se lanza la NullPointerException. También se puede utilizar como una excepción de entrada no válida.

Ver ejemplo:

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();
    }
  }
}

El código anterior muestra que el uso de una cadena nula puede no ser válido. Este código lanza la NullPointerException porque una cadena nula se compara con otra cadena.

Ver ejemplo:

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)

Excepción definida por el usuario para entrada no válida en Java

Vamos a crear una excepción si el usuario ingresa una ID. Si no está presente en la base de datos, se lanza la excepción de identificación no válida.

Ver ejemplo:

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();
    }
  }
}

El código crea una excepción cuando el ID de entrada no es válido, lo que significa que no está presente en la base de datos. Del mismo modo, se puede crear una excepción en función de la condición.

Producción :

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

Artículo relacionado - Java Exception