Excepción de entrada no válida en Java
- Cuando el argumento de entrada no es válido en Java
- Cuando la entrada es nula en Java
- Excepción definida por el usuario para 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 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 FacebookArtículo relacionado - Java Exception
- Arreglar Java.Net.SocketException: error de tubería rota en Java
- Clase de excepción Java Throwable VS
- Comprender la excepción de tiempo de ejecución en Java
- Corrija la excepción Java.Net.BindException: la dirección ya está en uso: Bind
- El proceso de Java Gateway se cerró antes de enviar su número de puerto