in

Tipos de excepción en Java con ejemplos

gfg 200x200 min

Java define varios tipos de excepciones que se relacionan con sus diversas bibliotecas de clases. Java también permite a los usuarios definir sus propias excepciones.

excepciones-en-java

Excepciones integradas

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

  1. ArithmeticException
    Se lanza cuando se ha producido una condición excepcional en una operación aritmética.
  2. ArrayIndexOutOfBoundsException
    Se lanza para indicar que se ha accedido a una matriz con un índice ilegal. El índice es negativo o mayor o igual que el tamaño de la matriz.
  3. ClassNotFoundException
    Esta excepción se genera cuando intentamos acceder a una clase cuya definición no se encuentra
  4. FileNotFoundException
    Esta excepción se genera cuando un archivo no es accesible o no se abre.
  5. IOException
    Se lanza cuando una operación de entrada-salida falla o se interrumpe
  6. InterruptedException
    Se lanza cuando un hilo está esperando, durmiendo o realizando algún procesamiento y se interrumpe.
  7. NoSuchFieldException
    Se lanza cuando una clase no contiene el campo (o variable) especificado
  8. NoSuchMethodException
    Se lanza al acceder a un método que no se encuentra.
  9. Excepción de puntero nulo
    Esta excepción se genera cuando se hace referencia a los miembros de un objeto nulo. Nulo no representa nada
  10. NumberFormatException
    Esta excepción se genera cuando un método no pudo convertir una cadena en un formato numérico.
  11. Excepción en tiempo de ejecución
    Esto representa cualquier excepción que ocurra durante el tiempo de ejecución.
  12. StringIndexOutOfBoundsException
    Lo lanzan los métodos de la clase String para indicar que un índice es negativo o mayor que el tamaño de la cadena

Ejemplos de excepción incorporada:

Java

class ArithmeticException_Demo

{

    public static void main(String args[])

    {

        try {

            int a = 30, b = 0;

            int c = a/b; 

            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

Java

class NullPointer_Demo

{

    public static void main(String args[])

    {

        try {

            String a = null;

            System.out.println(a.charAt(0));

        } catch(NullPointerException e) {

            System.out.println("NullPointerException..");

        }

    }

}

Producción:

NullPointerException..
  • Excepción StringIndexOutOfBound

Java

class StringIndexOutOfBound_Demo

{

    public static void main(String args[])

    {

        try {

            String a = "This is like chipping ";

            char c = a.charAt(24);

            System.out.println(c);

        }

        catch(StringIndexOutOfBoundsException e) {

            System.out.println("StringIndexOutOfBoundsException");

        }

    }

}

Producción:

StringIndexOutOfBoundsException

Java

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileReader;

 class File_notFound_Demo {

    public static void main(String args[])  {

        try {

            

            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

Java

class NumberFormat_Demo

{

    public static void main(String args[])

    {

        try {

            

            int num = Integer.parseInt ("akki") ;

            System.out.println(num);

        } catch(NumberFormatException e) {

            System.out.println("Number format exception");

        }

    }

}

Producción:

Number format exception
  • Excepción ArrayIndexOutOfBounds

Java

class ArrayIndexOutOfBound_Demo

{

    public static void main(String args[])

    {

        try{

            int a[] = new int[5];

            a[6] = 9;

                      

        }

        catch(ArrayIndexOutOfBoundsException e){

            System.out.println ("Array Index is Out Of Bounds");

        }

    }

}

Producción:

Array Index is Out Of Bounds

Excepciones definidas por el usuario
A veces, las excepciones integradas en Java no pueden describir una situación determinada. En tales casos, el usuario también puede crear excepciones que se denominan «excepciones definidas por el usuario».

Se siguen los siguientes pasos para la creación de una excepción definida por el usuario.

  • El usuario debe crear una clase de excepción como una subclase de la clase de excepción. Dado que todas las excepciones son subclases de la clase Exception, el usuario también debe convertir su clase en una subclase de la misma. Esto se hace como:
class MyException extends Exception
  • Podemos escribir un constructor predeterminado en su propia clase de excepción.
MyException(){}
  • También podemos crear un constructor parametrizado con una cadena como parámetro.
    Podemos usar esto para almacenar detalles de excepciones. Podemos llamar al constructor de superclase (Excepción) desde esto y enviar la cadena allí.
MyException(String str)
{
   super(str);
}
  • Para generar una excepción de tipo definido por el usuario, necesitamos crear un objeto para su clase de excepción y lanzarlo usando la cláusula throw, como:
MyException me = new MyException(“Exception details”);
throw me;
  • El siguiente programa ilustra cómo crear su propia clase de excepción MyException.
  • Los detalles de los números de cuenta, los nombres de los clientes y los saldos se toman en forma de tres matrices.
  • En el método main (), los detalles se muestran mediante un bucle for. En este momento, se verifica si en alguna cuenta el monto del saldo es menor que el monto mínimo del saldo que debe tener la cuenta.
  • Si es así, entonces se genera MyException y se muestra un mensaje «El monto del saldo es menor».

Java

class MyException extends Exception

{

    

    private static int accno[] = {1001, 1002, 1003, 1004};

    private static String name[] =

                 {"Nish", "Shubh", "Sush", "Abhi", "Akash"};

    private static double bal[] =

         {10000.00, 12000.00, 5600.0, 999.00, 1100.55};

    

    MyException() {    }

    

    MyException(String str) { super(str); }

    

    public static void main(String[] args)

    {

        try {

            

            System.out.println("ACCNO" + "t" + "CUSTOMER" +

                                           "t" + "BALANCE");

            

            for (int i = 0; i < 5 ; i++)

            {

                System.out.println(accno[i] + "t" + name[i] +

                                               "t" + bal[i]);

                

                if (bal[i] < 1000)

                {

                    MyException me =

                       new MyException("Balance is less than 1000");

                    throw me;

                }

            }

        }

        catch (MyException e) {

            e.printStackTrace();

        }

    }

}

Error de tiempo de ejecución

 MyException: Balance is less than 1000
    at MyException.main(fileProperty.java:36)

Producción:

ACCNO    CUSTOMER    BALANCE
1001    Nish    10000.0
1002    Shubh    12000.0
1003    Sush    5600.0
1004    Abhi    999.0

Artículos relacionados:

Este artículo es una contribución de Nishant Sharma. Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o envíe su artículo por correo electrónico a [email protected] 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 discutido anteriormente.

¡Atención lector! No dejes de aprender ahora. Hazte con todo lo importante Fundación Java y conceptos de colecciones con el Curso de Fundamentos de Java y Colecciones de Java a un precio asequible para los estudiantes y prepárese para la industria. Para completar su preparación desde el aprendizaje de un idioma hasta DS Algo y muchos más, consulte Curso completo de preparación para entrevistas.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

apple touch icon@2

PowerShell y el operador -contains

edit

A-GPS vs GPS: diferencia y comparación