Las 5 principales excepciones en Java con ejemplos

Un evento no deseado inesperado que perturba la ejecución normal del programa después de compilarse mientras se ejecuta se denomina excepción . Para hacer frente a una ejecución tan abrupta del programa, el manejo de excepciones es la terminación esperada del programa. 

Top-5-Exceptions-in-Java-with-Examples

Ilustración: considerando un ejemplo de la vida real

Supongamos que el requisito de libros es de la biblioteca de Delhi en tiempo de ejecución si la biblioteca de Delhi no está disponible para proporcionar libros debido a algunos problemas de transporte. Luego, la biblioteca de Delhi sugiere tomar libros de la biblioteca de Indore para continuar con el resto de nuestro trabajo. Esta forma de definir alternativas no es más que un manejo de excepciones.  

Tipos de excepciones en Java

Las excepciones se dividen en dos tipos. Estos son los siguientes:

1. Excepciones comprobadas : Son las excepciones que puede detectar el compilador en el momento de la ejecución del programa, y ​​se muestran mensajes de advertencia.

2. Excepciones no verificadas : estas son las excepciones que se pierden en la verificación del compilador que dan lugar a un flujo abrupto. No se muestran mensajes de advertencia ya que el compilador no detecta estas excepciones.

Ahora, los dos tipos de excepciones anteriores se clasifican de la siguiente manera:

  • Excepciones de programación genéricas : las excepciones programáticas genéricas se refieren a aquellas excepciones que el programador (o) el desarrollador de la API genera explícitamente y se denominan excepciones programáticas. Los ejemplos incluyen IllegalArgumentException(IAE)
     
  • Excepciones de JVM: las excepciones se conocen como aquellas excepciones que la JVM (Java Virtual Machine) genera automáticamente cada vez que ocurre un evento en particular. Los ejemplos son ArrayIndexOutOfBoundsException y NullPointException(NPE).

Las 5 excepciones principales que ocurren con mayor frecuencia son las siguientes:

  1. Argumento de excepción ilegal
  2. ArrayOutOfBoundException
  3. StackOverflowException
  4. NumberFormatException
  5. Excepción de puntero nulo

1. Excepción de argumento ilegal (IAE) 

Se lanza para indicar que se ha accedido a una array con un índice ilegal. El índice es negativo o mayor o igual que el tamaño de la array.

Ejemplo:

Java

// IllegalArgumentException in Java
  
// Class
public class GFG {
  
    // Main driver method
    public static void main(String[] args)
    {
        // Creating a new thread
        Thread t = new Thread();
  
        // valid in thread
        t.setPriority(10);
  
        // invalid(IllegalArgumentException(IAE))
        t.setPriority(100);
    }
}

Producción:

IllegalArgumentException(IAE)

2. ArrayIndexOutOfBoundsException

ArrayIndexOutOfBoundsException es una excepción de tiempo de ejecución lanzada solo en tiempo de ejecución. El compilador de Java no busca este error durante la compilación de un programa.

Ejemplo:

Java

// ArrayIndexOutOfBoundsException in Java
  
// Importing all classes of
// java.util package
import java.util.*;
  
public class GFG {
  
    // Main driver method
    public static void main(String[] args)
    {
        // Size of array is 10
        // Indexes ranging [00 - 09]
        int[] a = new int[10];
  
        // Case 1: Custom index within array size
        // Valid
        System.out.println(a[0]);
  
        // Case 2: Index greater than the size of the array
        // Invalid
        // ArrayIndexOutOfBoundsException
        System.out.println(a[100]);
  
        // ArrayIndexOutOfBoundsException
        System.out.println(a[-100]);
    }
}

Producción:

ArrayIndexOutOfBoundsException

3. StackOverFlowError

StackOverflowError es un error que Java no permite detectar, por ejemplo, una pila que se está quedando sin espacio, ya que es uno de los errores de tiempo de ejecución más comunes que uno puede encontrar. La causa principal de StackOverflowError es que no hemos proporcionado la condición de terminación adecuada para nuestra plantilla o función recursiva , lo que significa que se convertirá en un bucle infinito .

Ejemplo:

Java

// StackOverflowException in Java
  
// Importing all classes of
// java.util package
import java.util.*;
  
// Class
public class GFG {
  
    // Method1()
    public static void methodOne()
    {
        // Defining Method2() in Method1()
        methodTwo();
    }
  
    // Method2()
    public static void methodTwo()
    {
        // Calling method1 in methos2()
        methodOne();
    }
  
    // Main driver method
    public static void main(String[] args)
    {
  
        // Calling method1() in main()
        methodOne();
    }
}

Producción:

StackOverFlowError

4. Excepción de formato de número

Esta excepción se lanza cuando la string se convierte forzosamente a un valor numérico, pero el formato de la string de entrada no es compatible. Por ejemplo, analizar una string en un entero donde se asigna NULL en la string arrojando excepciones no verificadas.

Ejemplo:

Java

// NumberFormatException in Java
  
// Importing input output java classes
import java.io.*;
  
// Class
public class GFG {
  
    // Main driver method
    public static void main(String[] args)
    {
        // ParseInt() takes integer value as parameter
        // other values
  
        // valid
        int i = Integer.parseInt("50");
  
        // invalid
        // forInputString(A)
        // NumberFormatException will be thrown
        int j = Integer.parseInt("A");
  
        // invalid
        // forInputString(five)
        // NumberFormatException will be thrown
        int k = Integer.parseInt("five");
    }
}

Producción:

NumberFormatException

5. NullPointerException

Null es un valor especial utilizado en Java. Se utiliza principalmente para indicar que no se asigna ningún valor a una variable de referencia. Es una excepción de tiempo de ejecución en la que se puede asignar un valor nulo especial a una referencia de objeto. NullPointerException se lanza cuando un programa intenta usar una referencia de objeto que tiene el valor nulo.

Ejemplo:

Java

// NullPointerException in Java
  
// Importing all classes of
// java.util package
import java.util.*;
  
// Class
public class GFG {
  
    // Main driver method
    public static void main(String[] args)
    {
        // Assigning null to string
        String str = null;
  
        // Calculating length of string
  
        // Forcefully printing length which throws
        // NullPointerException
        System.out.println(str.length());
    }
}

Producción:

NullPointerException

Nota: Hay dos excepciones más que ocurren con frecuencia

  1. NoClassDefFound donde falta la definición de la clase correspondiente
  2. ClassCastException es una excepción en tiempo de ejecución en la que una clase se convierte incorrectamente de un tipo a otro.

Publicación traducida automáticamente

Artículo escrito por govindsc99 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *