Menú Curso Java Básico : Sintaxis del Bloque try/catch/finally

(Anterior) Operadores, Errores y Datos de Entrada/"Streams"

Sintaxis del Bloque try/catch

 
try { 
    // Código que pueda generar Errores ("Exception's")
     } catch(Tipo1 id1) {
       // Manejar "Exception's" para la Clase Tipo1
     } catch(Tipo2 id2) {
       // Manejar "Exception's" para la Clase Tipo2
     } catch(Tipo3 id3) {
       // Manejar "Exception's" para la Clase Tipo3
     }

La primer sección del Bloque es iniciada con el vocablo try y una llave ({ ) que indica el principio de la zona protegida, dentro de esta primer sección es colocado todo código que pueda generar algún tipo de error, al terminar esta sección se define un grupo de estructuras con el elemento catch.

Como se puede observar en la ilustración, cada vocablo catch es seguido de un paréntesis que contiene una Clase así como una referencia, estos son considerados los Datos de Entrada para cada sección catch; el tipo de Clases definidas dentro de cada sección catch depende del numero de "Exceptions" que pueden ser generadas por el programa; lo anterior permite definir un numero ilimitado de "Exceptions" cada uno con su propio código para manejar el error.

Para todo Bloque try/catch debe ser definida al menos una sección catch; si son definidos más de dos Clases para errores ("Exceptions") estas deben ser declaradas de más a menos especifica, siendo la menos especifica la Clase java.lang.Throwable; es de esta Clase que son Heredadas ("Inherited") todo "Exception" en Java, esto será descrito en la siguiente sección de este curso.

Sintaxis del Bloque try/catch/finally

Para los Bloques try/catch existe una variación que consiste en agregar una sección denominada finally, dicha estructura estaría compuesta de la siguiente manera:

 
try { 
    // Código que pueda generar Errores ("Exception's")
     } catch(Tipo1 id1) {
       // Manejar "Exception's" para la Clase Tipo1
     } catch(Tipo2 id2) {
       // Manejar "Exception's" para la Clase Tipo2
     } catch(Tipo3 id3) {
       // Manejar "Exception's" para la Clase Tipo3
     } finally { 
       // Actividades que siempre ocurren  
     } 

La utilización de finally es empleada dentro de un Bloque try/catch para realizar tareas que deben ser ejecutadas independientemente del comportamiento de errores.

Cuando se atrapa un error ("Exception") un programa queda inconcluso, es esta terminación abrupta la que puede causar que algún recurso/mecanismo permanezca asignado o mal utilizado; a través de una sección finally se garantiza que sea ejecutado un juego de instrucciones independientemente del tipo de error que pueda ocurrir; un uso muy común para una sección finally consiste en liberar conexiones hacia Bases de Datos que pudieran haber sido asignadas en la sección try.

Terminos Legales de Contenido ©2000-2011 Osmosis Latina

Diseñado bajo estándares : XHTML   CSS  

webmaster@osmosislatina.com