Handling Exceptions java ( manejo de excepciones en java )

in #spanish7 years ago (edited)

Java y el manejo de excepciones ( Handling Exceptions)

Las excepciones son eventos anormales que ocurren durante el curso de la ejecución de un programa y rompen la secuencia normal de ejecución del programa.

Algunas preguntas que los programadores se pueden hacer sobre manejar excepciones:

  • ¿ Que pasa a la aplicación cuando se maneja un error ?
  • ¿ Es necesario que un programa deba manejar eventos anormales ?
  • ¿Cómo se detecta y maneja el error durante el tiempo de ejecución ?
  • ¿ Qué lenguajes de programación provee soporte para encontrar y manejar errores ?

  • En los inicios de la programación de computadoras, lenguajes como Pascal, Fortran y C no proveían ningún soporte a los programadores para el manejo de errores, esto era responsabilidad del programador el proveer rutinas para el manejo de dichos errores.
    Lenguajes de programación posteriores como BASIC y COBOL proveían un soporte para revisión y manejo de errores como ON ERROR GOTO…

    Jerarquía de clases para el manejo de excepciones en java


    Jerarquia exception java.jpg

    Los siguientes son algunos ejemplos de cuando se lanza excepciones:

  • Cuando un número es dividido entre cero, esto puede ser detectado solo en tiempo de ejecución, ya que las operaciones se efectúan durante la ejecución del programa.
  • Cuando se intenta acceder a un elemento de un arreglo que esta fuera del límite del arreglo.
  • Cuando ocurre una condición de desborde (overflow o underflow) durante la asignación de valores a variables numéricas.
  • Cuando un programa requiere un archivo para lectura, y el archivo no está disponible en el sistema.
  • Cuando un programa accede a recursos del sistema sin autorización.
  • Cuando un recurso que es requerido por la aplicación no está disponible por ejemplo, puede requerir una impresora y puede no estar conectada.
  • Estos serían algunos ejemplos de cuándo puede ocurrir una excepción en un programa

    Ahora nos vamos a Java y el manejo de excepciones

    En java está incorporado la capacidad para asegurar que las excepciones sean manejadas dentro del programa. Aunque los programadores pueden manejar algunos errores, otros ya son manejados por la JVM como ejemplo el programador debe manejar un error como el de un archivo no encontrado, mientras un error de fuera de memoria es manejado por la JVM.

    Java brinda soporte al manejo de excepciones con el uso de estas palabras claves, que son:


  • try catch
  • throw
  • throws
  • finally
  • Vamos primero con el try y catch

    En java brinda estas 2 cláusulas para un manejo de excepciones de una forma Sofisticada. Se usaran los términos bloques y clausulas cuando se haga referencia a try catch
    Sintaxis
    try-cath 1.jpg
    Ejemplo:
    try-catch2.jpg

    Otro ejemplo:
    try-cath3.jpg

    Ahora usando la cláusula throws

    Esta se utiliza cuando un método que lanza una excepción no maneja la excepción, se debe especificar en el método la excepción que lanza, usando la cláusula throws

    Ejemplo:
    throws java 1.jpg

    Nota: un método puede lanzar una o más excepciones

    Sentencia throw

    Esta se utiliza para indicar cual método puede lanzar una excepción. Cuando ocurre un error en un programa, justo en el punto donde este ocurre, una excepción es levantada.

    Usando el bloque finally

    En los bloques try catch captura las excepciones indicadas y las maneja, y el bloque finally se puede añadir al final de todo el bloque try- catch, este se usa básicamente para tareas de limpieza, como cerrar archivos y liberar recursos.

    El bloque finally se ejecuta después de todos los bloques catch, el finally siempre de ejecutar aun cuando no lance ninguna excepción el bloque try-catch.

    Nota: en los próximos posts veremos ejemplos de finally en el manejo de archivos y base de datos.

    Gracias a todos por leer…




    Sort:  

    Buen aporte a la programación en Java @neliobatis

    gracias...

    Congratulations! This post has been upvoted from the communal account, @minnowsupport, by neliobatis from the Minnow Support Project. It's a witness project run by aggroed, ausbitbank, teamsteem, theprophet0, someguy123, neoxian, followbtcnews, and netuoso. The goal is to help Steemit grow by supporting Minnows. Please find us at the Peace, Abundance, and Liberty Network (PALnet) Discord Channel. It's a completely public and open space to all members of the Steemit community who voluntarily choose to be there.

    If you would like to delegate to the Minnow Support Project you can do so by clicking on the following links: 50SP, 100SP, 250SP, 500SP, 1000SP, 5000SP.
    Be sure to leave at least 50SP undelegated on your account.