Excepciones integradas en Java con ejemplos

Tipos de excepciones en Java

Las excepciones incorporadas son las excepciones que están disponibles en las bibliotecas de Java. Estas excepciones son adecuadas para explicar ciertas situaciones de error. A continuación se muestra la lista de importantes excepciones integradas en Java.
Ejemplos de excepciones integradas:

  1. Excepción aritmética: Se lanza cuando se ha producido una condición excepcional en una operación aritmética.

    // Java program to demonstrate 
    // ArithmeticException
    class ArithmeticException_Demo {
    public static void main(String args[])
        {
            try {
                int a = 30, b = 0;
                int c = a / b; // cannot divide by zero
                System.out.println("Result = " + c);
            }
            catch (ArithmeticException e) {
                System.out.println("Can't divide a number by 0");
            }
        }
    }

    Producción:

    Can't divide a number by 0
    
  2. Excepción ArrayIndexOutOfBounds: 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.

    // Java program to demonstrate 
    // ArrayIndexOutOfBoundException
    class ArrayIndexOutOfBound_Demo {
    public static void main(String args[])
        {
            try {
                int a[] = new int[5];
                a[6] = 9; // accessing 7th element in an array of
                // size 5
            }
            catch (ArrayIndexOutOfBoundsException e) {
                System.out.println("Array Index is Out Of Bounds");
            }
        }
    }

    Producción:

    Array Index is Out Of Bounds
  3. ClassNotFoundException: esta excepción se genera cuando intentamos acceder a una clase cuya definición no se encuentra.

    // Java program to illustrate the 
    // concept of ClassNotFoundException
    class Bishal {
      
    } class Geeks {
      
    } class MyClass {
    public static void main(String[] args)
        {
            Object o = class.forName(args[0]).newInstance();
            System.out.println("Class created for" + o.getClass().getName());
        }
    }

    Producción:

    ClassNotFoundException
  4. FileNotFoundException: esta excepción se genera cuando no se puede acceder a un archivo o no se abre.

    // Java program to demonstrate 
    // FileNotFoundException
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    class File_notFound_Demo {
      
    public static void main(String args[])
        {
            try {
      
                // Following file does not exist
                File file = new File("E:// file.txt");
      
                FileReader fr = new FileReader(file);
            }
            catch (FileNotFoundException e) {
                System.out.println("File does not exist");
            }
        }
    }

    Producción:

    File does not exist
  5. IOException: se lanza cuando una operación de entrada-salida falla o se interrumpe

    // Java program to illustrate IOException
    import java.io.*;
    class Geeks {
    public static void main(String args[])
        {
            FileInputStream f = null;
            f = new FileInputStream("abc.txt");
            int i;
            while ((i = f.read()) != -1) {
                System.out.print((char)i);
            }
            f.close();
        }
    }

    Producción:

    error: unreported exception IOException; must be caught or declared to be thrown
    
  6. InterruptedException: se lanza cuando un subproceso está esperando, durmiendo o realizando algún procesamiento, y se interrumpe.

    // Java Program to illustrate 
    // InterruptedException
    class Geeks {
    public static void main(String args[])
        {
            Thread t = new Thread();
            t.sleep(10000);
        }
    }

    Producción:

    error: unreported exception InterruptedException; must be caught or declared to be thrown
    
  7. NoSuchMethodException: se lanza al acceder a un método que no se encuentra.

    // Java Program to illustrate 
    // NoSuchMethodException
    class Geeks {
    public Geeks()
        {
            Class i;
            try {
                i = Class.forName("java.lang.String");
                try {
                    Class[] p = new Class[5];
                }
                catch (SecurityException e) {
                    e.printStackTrace();
                }
                catch (NoSuchMethodException e) {
                    e.printStackTrace();
                }
            }
            catch (ClassNotFoundException e) {
                e.printStackTrace();
            }
        }
      
    public static void main(String[] args)
        {
            new Geeks();
        }
    }

    Producción:

    error: exception NoSuchMethodException is never thrown 
    in body of corresponding try statement
    
  8. NullPointerException: esta excepción se genera cuando se hace referencia a los miembros de un objeto nulo. nulo no representa nada

    // Java program to demonstrate NullPointerException
    class NullPointer_Demo {
    public static void main(String args[])
        {
            try {
                String a = null; // null value
                System.out.println(a.charAt(0));
            }
            catch (NullPointerException e) {
                System.out.println("NullPointerException..");
            }
        }
    }

    Producción:

    NullPointerException..
    
  9. NumberFormatException: esta excepción se genera cuando un método no puede convertir una string en un formato numérico.

    // Java program to demonstrate 
    // NumberFormatException
    class NumberFormat_Demo {
    public static void main(String args[])
        {
            try {
                // "akki" is not a number
                int num = Integer.parseInt("akki");
      
                System.out.println(num);
            }
            catch (NumberFormatException e) {
                System.out.println("Number format exception");
            }
        }
    }

    Producción:

    Number format exception
    
  10. StringIndexOutOfBoundsException: los métodos de la clase String la lanzan para indicar que un índice es negativo que el tamaño de la string.

    // Java program to demonstrate 
    // StringIndexOutOfBoundsException
    class StringIndexOutOfBound_Demo {
    public static void main(String args[])
        {
            try {
                String a = "This is like chipping "; // length is 22
                char c = a.charAt(24); // accessing 25th element
                System.out.println(c);
            }
            catch (StringIndexOutOfBoundsException e) {
                System.out.println("StringIndexOutOfBoundsException");
            }
        }
    }

    Producción:

    StringIndexOutOfBoundsException
    

Algunas otras excepciones importantes

  1. ClassCastException

    // Java Program to illustrate
    // ClassCastException
    class Test {
    public static void main(String[] args)
        {
            String s = new String("Geeks");
            Object o = (Object)s;
            Object o1 = new Object();
            String s1 = (String)o1;
        }
    }

    Producción:

    Exception in thread "main" java.lang.ClassCastException: 
    java.lang.Object cannot be cast to java.lang.String
    
  2. StackOverflowError

    // Java Program to illustrate 
    // StackOverflowError
    class Test {
    public static void main(String[] args)
        {
            m1();
        }
    public static void m1()
        {
            m2();
        }
    public static void m2()
        {
            m1();
        }
    }

    Producción:

    Exception in thread "main" java.lang.StackOverflowError
    
  3. No Error Clase Def Encontrado

    // Java Program to illustrate
    // NoClassDefFoundError
    class Test //
        {
    public static void main(String[] args)
        {
            System.out.println("HELLO GEEKS");
        }
    }

    Producción:

    Note: If the corresponding Test.class file is not found 
    during compilation then we will get Run-time Exception
    saying Exception in thread "main" java.lang.NoClassDefFoundError
    
  4. ExceptionInInitializerError
    Código 1:

    // Java Program to illustrate 
    // ExceptionInInitializerError
    class Test {
        static int x = 10 / 0;
    public static void main(String[] args)
        {
        }
    }

    Producción:

    Exception in thread "main" java.lang.ExceptionInInitializerError
    Caused by: java.lang.ArithmeticException: / by zero
    

    Código 2:

    // Java Program to illustrate 
    // ExceptionInInitializerError
    class Test {
        static
        {
            String s = null;
            System.out.println(s.length());
        }
    public static void main(String[] args)
        {
        }
    }

    Producción:

    Exception in thread "main" java.lang.ExceptionInInitializerError
    Caused by: java.lang.NullPointerException
    

    Explicación: la excepción anterior ocurre cada vez que se ejecuta una asignación de variable estática y un bloque estático si ocurre alguna excepción.

  5. Argumento de excepción ilegal

    // Java Program to illustrate 
    // IllegalArgumentException
    class Test {
    public static void main(String[] args)
        {
            Thread t = new Thread();
            Thread t1 = new Thread();
            t.setPriority(7); // Correct
            t1.setPriority(17); // Exception
        }
    }

    Producción:

    Exception in thread "main" java.lang.IllegalArgumentException
    

    Explicación: la excepción la produce explícitamente el programador o el desarrollador de la API para indicar que se ha invocado un método con un argumento ilegal.

  6. IllegalThreadStateExceptionIlegalThreadStateException

    // Java Program to illustrate 
    // IllegalStateException
    class Test {
    public static void main(String[] args)
        {
            Thread t = new Thread();
            t.start();
            t.start();
        }
    }

    Producción:

    Exception in thread "main" java.lang.IllegalThreadStateException
    

    Explicación: la excepción anterior surge explícitamente por el programador o por el desarrollador de la API para indicar que se invocó un método en el momento equivocado.

  7. Error de aserción

    // Java Program to illustrate 
    // AssertionError
    class Test {
    public static void main(String[] args)
        {
            // If x is not greater than or equal to 10
            // then we will get the run-time exception
            assert(x >= 10);
        }
    }

    Producción:

    Exception in thread "main" java.lang.AssertionError
    

    Explicación: la excepción anterior surge explícitamente por el programador o el desarrollador de la API para indicar que la declaración de afirmación falla.

Este artículo es una contribución de Bishal Kumar Dubey . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 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 *