¿Cuáles son los errores de tiempo de ejecución en Java? Explicado

¿Cuáles son los errores de tiempo de ejecución en Java? Explicado
En Java, un evento no deseado que termina la ejecución del programa se conoce como un error. Ocurre por problemas sintácticos o algunos otros problemas que no se pueden detectar en el momento de la compilación. Los errores que no se pueden detectar en el tiempo de compilación y, por lo tanto, ocurren en el momento de la ejecución del programa, se conocen como errores de tiempo de ejecución, mientras que los errores con problemas sintácticos se denominan errores en tiempo de compilación.

Este artículo presenta una descripción detallada de los errores de tiempo de ejecución en Java y, en este sentido, necesitamos comprender los siguientes conceptos:

  • ¿Cuáles son los errores de tiempo de ejecución en Java??
  • Tipos de errores de tiempo de ejecución en Java
  • Factores que causan errores de tiempo de ejecución
  • Ejemplos de errores de tiempo de ejecución
  • Cómo manejar los errores de tiempo de ejecución

Entonces empecemos!

¿Cuáles son los errores de tiempo de ejecución en Java??

Los errores que ocurren en el momento de la ejecución del programa se denominan errores de tiempo de ejecución. Este tipo de errores no se puede detectar en el momento de la compilación, ya que no hay nada de malo en su sintaxis. Entonces, podemos decir que el programa que es sintácticamente correcto todavía arroja un error al momento de la ejecución del programa se llama error de tiempo de ejecución.

Tipos de errores de tiempo de ejecución en Java

Hay múltiples tipos de errores de tiempo de ejecución que podemos enfrentar en el momento de la ejecución del programa. A continuación se enumeran algunos errores de tiempo de ejecución frecuentemente encontrados:

  • Errores de entrada-salida
  • Error de bucle infinito
  • División por cero errores
  • Errores lógicos
  • Errores fuera de rango
  • Error de objeto indefinido

Factores que causan errores de tiempo de ejecución

Existen numerosos factores que causan errores de tiempo de ejecución, entre ellos las causas más comúnmente encontradas se enumeran a continuación:

  • Dividir cualquier valor numérico por cero produce errores de tiempo de ejecución.
  • Acceder a una matriz fuera de límites.
  • Pasar datos no válidos e.gramo. Pasar un valor numérico al campo no numérico.
  • Pasar parámetros/argumentos no válidos a un método.
  • Múltiples procesos que intentan acceder al mismo recurso al mismo tiempo.
  • Tratando de almacenar un valor de tipo incompatible para una colección.
  • Error de espacio/memoria insuficiente en hilos (OutOfMemoryError)

Ejemplos de errores de tiempo de ejecución

Comprendamos el concepto de errores de tiempo de ejecución con la ayuda de ejemplos.

Ejemplo

En este ejemplo, tenemos una variedad de tamaño tres:

clase pública runtimeerRorSexample
public static void main (string [] args)
int ary [] = 4, 6, 2;
Sistema.afuera.println ("resultado:" + ary [3]);

La longitud de la matriz es tres y sabíamos que la indexación de la matriz comienza desde cero. Entonces, especificar a Ary [3] significa que estamos tratando de acceder al cuarto elemento de la matriz. Sintácticamente, no hay nada de malo en eso, no enfrentamos ningún error en el momento de la compilación. Sin embargo, el JVM lanzará el error en tiempo de ejecución:

Desde el fragmento anterior, observamos que se produce un error en el momento de ejecución cuando intentamos acceder al índice fuera de rango.

Para la claridad del concepto, consideremos otro ejemplo:

Ejemplo

Esta vez tenemos una cadena asignada con un "nulo" valor e intentaremos encontrar la longitud de la cadena:

clase pública runtimeerRorSexample
public static void main (string [] args)
Cadena str = nulo;
Sistema.afuera.println (str.longitud());

El siguiente será la salida del fragmento de código anterior:

Cuando ejecutamos el programa, encontramos un Excepción de puntero nulo Porque la cadena es nula.

Entonces, cómo manejar tales errores de tiempo de ejecución? ¿Java proporciona una solución para lidiar con tales errores de tiempo de ejecución?? Por supuesto, Java lo hace.

Cómo manejar los errores de tiempo de ejecución

En Java, los errores de tiempo de ejecución se pueden resolver con la ayuda de las declaraciones Try-Catch, y para hacerlo, tenemos que poner el código que puede lanzar un error de tiempo de ejecución en las declaraciones de captura de try.

Ejemplo

Consideremos el fragmento de código a continuación para comprender cómo resolver errores de tiempo de ejecución utilizando las declaraciones de prueba de prueba en Java:

clase pública runtimeerRorSexample
public static void main (string [] args)
intentar
int número1 = 110, número2 = 0;
Sistema.afuera.println ("Resultado:" + número1 / número2);
Catch (arithmeticException Excep)
Sistema.afuera.println ("Los valores numéricos no se pueden dividir por 0");

Ahora rodeamos el código dentro de las declaraciones de prueba de prueba que pueden lanzar el error:

Ahora esta vez, en lugar de lanzar el error, JVM muestra el mensaje que especificamos dentro del bloque de captura.

Conclusión

En Java, los programas que son sintácticamente correctos pero que aún lanzan algunos errores en el momento de la ejecución del programa se conocen como errores de tiempo de ejecución. Estos errores ocurren debido a diferentes razones, como la división por cero, accediendo a una matriz fuera de los límites, pasando datos no válidos e.gramo. Pasar un valor numérico al campo no numérico, etc. Estos tipos de errores se pueden manejar rodeando el bloque de captura de prueba alrededor del código que puede lanzar los errores de tiempo de ejecución. Este artículo explica diferentes aspectos de los errores de tiempo de ejecución, por ejemplo, cuáles son los errores de tiempo de ejecución, sus tipos, causas y cómo solucionar estos errores en Java.