Articulo de referencia

encadenamiento de excepciones

El encadenamiento de excepciones , o envoltura de excepciones , es una técnica de programación orientada a objetos que consiste en relanzar una excepción capturada tras encapsul...

El encadenamiento de excepciones , o envoltura de excepciones , es una técnica de programación orientada a objetos que consiste en relanzar una excepción capturada tras encapsularla en una nueva excepción. La excepción original se guarda como una propiedad (como ` cause` ) de la nueva excepción. La idea es que un método debe lanzar excepciones definidas en el mismo nivel de abstracción que el propio método, pero sin descartar información de los niveles inferiores.

Por ejemplo, un método para reproducir un archivo de película podría gestionar las excepciones al leer el archivo, relanzándolas dentro de una excepción de reproducción de la película. La interfaz de usuario no necesita saber si el error ocurrió al leer un fragmento de bytes o al llamar a eof(). Solo necesita el mensaje de excepción extraído de la causa . La capa de interfaz de usuario tendrá su propio conjunto de excepciones. Quien esté interesado en la causa puede ver su traza de pila durante la depuración o en el registro correspondiente.

El uso correcto de las excepciones se refuerza especialmente mediante las excepciones verificadas en el lenguaje de programación Java , y a partir de la versión 1.4 del lenguaje, casi todas las excepciones admiten el encadenamiento.

En entornos de ejecución como Java o .NET, existen herramientas que se integran al motor de ejecución y, cada vez que se produce una excepción relevante, registran información de depuración presente en la memoria en el momento en que se generó la excepción (valores de la pila y del montón). Estas herramientas se denominan interceptación de excepciones y proporcionan información sobre la causa raíz de las excepciones en programas Java que se ejecutan en entornos de producción, pruebas o desarrollo.

Referencias

  • Goetz, Brian (14 de septiembre de 2001). "Prácticas excepcionales, parte 2" . JavaWorld . Recuperado el 19 de julio de 2020 .
  • Excepciones encadenadas : tutorial de Java de Sun