Crear una excepción personalizada definida por el usuario en Java

Sheeraz Gul 12 octubre 2023
  1. Excepción definida por el usuario en Java
  2. Excepción definida por el usuario para verificar la validez de una identificación en Java
Crear una excepción personalizada definida por el usuario en Java

Aparte de las excepciones predefinidas como NullPointerException o ArithmeticException, podemos crear nuestras excepciones personalizadas definidas por el usuario en Java. La palabra clave Throw y los bloques try-catch crean excepciones personalizadas definidas por el usuario.

Este tutorial demuestra cómo crear excepciones personalizadas definidas por el usuario en Java.

Excepción definida por el usuario en Java

La excepción de Java predefinida cubre casi todas las excepciones en los programas, pero a veces se requiere para crear nuestra excepción. La excepción definida por el usuario captura y proporciona un tratamiento específico a un subconjunto de excepciones de Java predefinidas.

Esta excepción también puede ser las excepciones de la lógica empresarial relacionadas con el flujo de trabajo y la lógica empresarial. Para crear excepciones personalizadas definidas por el usuario, primero debemos comprender el problema exacto.

Probemos un ejemplo de excepciones definidas por el usuario. Para crear la excepción definida por el usuario, primero, necesitamos extender la clase Exception de Java.lang.

Ejemplo:

package delftstack;

public class User_Defined_Exception {
  public static void main(String args[]) {
    try {
      throw new Custom_Exception(404);
    } catch (Custom_Exception e) {
      System.out.println(e);
      e.printStackTrace();
    }
  }
}
class Custom_Exception extends Exception {
  int code;
  Custom_Exception(int status_code) {
    code = status_code;
  }
  public String toString() {
    return ("This is user defined exception to show the status code: " + code);
  }
}

Este código generará una excepción de cadena definida por el usuario.

Producción :

This is user defined exception to show the status code: 404
This is user defined exception to show the status code: 404
    at delftstack.User_Defined_Exception.main(User_Defined_Exception.java:6)

Excepción definida por el usuario para verificar la validez de una identificación en Java

Probemos con otro ejemplo que estará más centrado en el problema, como verificar la validez de una identificación.

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

Ejemplo:

package delftstack;
import java.util.*;

class InValid_ID extends Exception {
  public InValid_ID(String ID) {
    super(ID);
  }
}
public class User_Defined_Exception {
  // 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 anterior crea una excepción de ID no válida. Lanzará una excepción si el usuario ingresa la ID incorrecta.

Salida no válida:

Enter the ID number: 133
delftstack.InValid_ID: The ID is you Entered is InValid!
delftstack.InValid_ID: The ID is you Entered is InValid!
    at delftstack.User_Defined_Exception.find_ID(User_Defined_Exception.java:19)
    at delftstack.User_Defined_Exception.main(User_Defined_Exception.java:32)

Salida válida:

Enter the ID number: 145
The ID is you Entered is Valid!
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