English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Las excepciones son problemas que ocurren durante la ejecución del programa (errores de tiempo de ejecución). Cuando ocurre una excepción, el programa se detiene repentinamente y el código que sigue a la línea de excepción nunca se ejecutará.
import java.util.Scanner; public class ExceptionExample { public static void main(String args[]) { Scanner sc = new Scanner(System.in); System.out.println("Ingrese el primer número: "); int a = sc.nextInt(); System.out.println("Ingrese el segundo número: "); int b = sc.nextInt(); int c = a/b; System.out.println("El resultado es: "+c); } }
Resultado de salida
Ingrese el primer número: 100 Ingrese el segundo número: 0 Excepción en el hilo "main" java.lang.ArithmeticException: / by zero at ExceptionExample
En Java, hay dos tipos de excepciones
Excepciones verificadas - Las excepciones verificadas son las que ocurren en tiempo de compilación, también conocidas como excepciones de tiempo de compilación. Estas excepciones no se pueden ignorar simplemente en tiempo de compilación. Los programadores deben prestar atención (manejar) estas excepciones.
Excepciones no verificadas - Las excepciones no verificadas son las que se producen durante la ejecución. Estas también se conocen como excepciones de tiempo de ejecución. Incluyen errores de programación, como errores lógicos o mal uso de API. Las excepciones de tiempo de ejecución se ignoran en la compilación.
Excepción de tiempo de ejecución/el modo de visualización de las excepciones no verificadas"Excepción en el hilo principal",es decir, cada vez que se produce una excepción de tiempo de ejecución, el mensaje comienza con esa línea.
En el siguiente programa Java, tenemos un array de tamaño5y trata de acceder al índice6elementos, lo que generará ArrayIndexOutOfBoundsException.
public class ExceptionExample { public static void main(String[] args) { //creando un array de tamaño5del array de enteros int inpuArray[] = new int[5]; //rellenar el array inpuArray[0] = 41; inpuArray[1] = 98; inpuArray[2] = 43; inpuArray[3] = 26; inpuArray[4] = 79; //El índice de acceso es mayor que el tamaño del array System.out.println(inpuArray[6]); } }
Excepción en el hilo "main" java.lang.ArrayIndexOutOfBoundsException: 6 at MyPackage.ExceptionExample.main(ExceptionExample.java:14)
En el siguiente ejemplo, intentamos crear un array utilizando un número negativo como valor de tamaño, lo que generará NegativeArraySizeException.
public class Test { public static void main(String[] args) { int[] intArray = new int[-5]; } }
En la ejecución, el programa generará una excepción de tiempo de ejecución, como se muestra a continuación.
Excepción en el hilo "main" java.lang.NegativeArraySizeException at myPackage.Test.main(Test.java:6)
Puede manejar excepciones de tiempo de ejecución y evitar la terminación de excepciones, pero no hay un programa específico para excepciones de tiempo de ejecución en Java, depende del tipo de excepción y el tipo de código que se cambie.
Por ejemplo, si necesita reparar ArrayIndexOutOfBoundsException en el primer programa enumerado anteriormente, debe eliminar/Cambiar la posición del índice de acceso del array que excede su tamaño.
public class ExceptionExample { public static void main(String[] args) { //Creando un array de enteros con tamaño 5 int inpuArray[] = new int[5]; //rellenar el array inpuArray[0] = 41; inpuArray[1] = 98; inpuArray[2] = 43; inpuArray[3] = 26; inpuArray[4] = 79; //El índice de acceso es mayor que el tamaño del array System.out.println(inpuArray[3]); } }
Resultado de salida
26