Your SlideShare is downloading. ×
0
Gestión de errores en Java
Gestión de errores en Java
Gestión de errores en Java
Gestión de errores en Java
Gestión de errores en Java
Gestión de errores en Java
Gestión de errores en Java
Gestión de errores en Java
Gestión de errores en Java
Gestión de errores en Java
Gestión de errores en Java
Gestión de errores en Java
Gestión de errores en Java
Gestión de errores en Java
Gestión de errores en Java
Gestión de errores en Java
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Gestión de errores en Java

17,051

Published on

Manejo de excepciones y gestión de errores en Java

Manejo de excepciones y gestión de errores en Java

Published in: Technology, Business
1 Comment
4 Likes
Statistics
Notes
No Downloads
Views
Total Views
17,051
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
368
Comments
1
Likes
4
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Programación de Algoritmos Gestión de Errores en Java Autor: Astrid Medina
  • 2. Una excepción o un error es un evento que ocurre durante la ejecución de un programa y detiene el flujo normal de la secuencia de instrucciones de ese programa. Las excepciones en Java están destinadas a la detección y corrección de errores. Si hay un error, la aplicación debe lanzar una excepción ( throw ) que a su vez debería capturar ( catch ) y resolver la situación de error, o poder ser tratada finalmente ( finally ) por un gestor por defecto u omisión. Definición Las excepciones son formas muy limpias de manejar errores y problemas inesperados en la lógica del programa. Gestión de Errores
  • 3. Tipos de Excepciones Exception: Conjunto de excepciones que el programa debe capturar y resolver. Subclases  RuntimeException, ArithmeticException, IndexOutOfBoundsException, NullPointerException, etc. Gestión de Errores Error: Son fallos de tipo catastrófico, originan la parada del programa. Subclases  AWTError, LinkageError, ThreadDeath, VirtualMachineError, etc.
  • 4. Excepciones Predefinidas Los nombres de las excepciones indican la condición de error que representan. Las siguientes son las excepciones predefinidas más frecuentes que se pueden encontrar: ArithmeticException Las excepciones aritméticas son típicamente el resultado de división por 0: int i = 12 / 0; Gestión de Errores
  • 5. Excepciones Predefinidas Gestión de Errores IncompatibleClassChangeException El intento de cambiar una clase afectada por referencias en otros objetos, específicamente cuando esos objetos todavía no han sido recompilados. ClassCastException El intento de convertir un objeto a otra clase que no es válida. NullPointerException Se produce cuando se intenta acceder a una variable o método antes de ser definido.
  • 6. Excepciones Predefinidas Gestión de Errores NegativeArraySizeException Puede ocurrir si hay un error aritmético al cambiar el tamaño de un array. NoClassDefFoundException Se referenció una clase que el sistema es incapaz de encontrar. ArrayIndexOutOfBoundsException Se genera al intentar acceder a un elemento de un array más allá de los límites definidos inicialmente para ese array.
  • 7. Excepciones Predefinidas Gestión de Errores UnsatisfiedLinkException Se intenta de acceder a un método nativo que no existe. InternalException Este error se reserva para eventos que no deberían ocurrir. Por definición, el usuario nunca debería ver este error y esta excepción no debería lanzarse.
  • 8. Excepciones Propias También el programador puede lanzar sus propias excepciones, extendiendo la clase System.exception . Por ejemplo, considérese un programa cliente/servidor. El código cliente se intenta conectar al servidor, y durante 5 segundos se espera a que conteste el servidor. Si el servidor no responde, el servidor lanzaría la excepción de time-out  Gestión de Errores
  • 9. Excepciones Propias Gestión de Errores class ServerTimeOutException extends Exception {} public void conectame( String nombreServidor ) throws Exception { int exito; int puerto = 80; exito = open( nombreServidor,puerto ); if( exito == -1 ) throw ServerTimeOutException; } Excepciones Predefinidas
  • 10. public void encuentraServidor() { try { conectame( servidorDefecto ); catch( ServerTimeOutException e ) { g.drawString( "Time-out del Servidor, intentando alternativa",5,5 ); conectame( servidorAlterno ); } } Excepciones Propias Gestión de Errores Excepciones Propias
  • 11. Captura de Excepciones Gestión de Errores Las excepciones lanzadas por un método que pueda hacerlo deben recoger en bloque try/catch o try/finally. try Es el bloque de código donde se previene que se genere una excepción. El bloque try tiene que ir seguido, al menos, por una cláusula catch o una cláusula finally. try { // Sentencias Java }
  • 12. Captura de Excepciones Gestión de Errores catch Es el código que se ejecuta cuando se produce la excepción. No hay código alguno entre un bloque try y un bloque catch , ni entre bloques catch . La sintaxis general de la sentencia catch en Java es la siguiente: catch( UnTipoTrhowable nombreVariable ) { // sentencias Java }
  • 13. Captura de Excepciones Gestión de Errores try Es el bloque de código que se ejecuta siempre, haya o no excepción. Este bloque finally puede ser útil cuando no hay ninguna excepción. Es un trozo de código que se ejecuta independientemente de lo que se haga en el bloque try .
  • 14. Captura de Excepciones Gestión de Errores throw La sentencia throw se utiliza para lanzar explícitamente una excepción. En primer lugar se debe obtener un descriptor de un objeto Throwable , bien mediante un parámetro en una cláusula catch o, se puede crear utilizando el operador new. La forma general de la sentencia throw es: throw ObjetoThrowable;
  • 15. Captura de Excepciones Gestión de Errores throws Si un método es capaz de provocar una excepción que no maneja él mismo, debería especificar este comportamiento, para que todos los métodos que lo llamen puedan colocar protecciones frente a esa excepción. La palabra clave throws se utiliza para identificar la lista posible de excepciones que un método puede lanzar.
  • 16. Ejemplo Gestión de Errores public class ValidacionNumero { public static void main(String[] args) { boolean esNumero = false; int nro = 0; String txtNro = null; do{ txtNro = JOptionPane.showInputDialog("Ingrese un nro. "); try{ nro = Integer.parseInt(txtNro); esNumero = true; }catch(NumberFormatException nfe){ System.out.println("ERROR. No ha ingresado un nro."); } }while(esNumero == false); JOptionPane.showMessageDialog(null, "El nro ingresado fue el: " + nro, "Resultado", JOptionPane.INFORMATION_MESSAGE); System.exit(0); } } .

×