SlideShare una empresa de Scribd logo
Programación de Algoritmos Gestión de Errores en Java Autor: Astrid Medina
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
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.
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
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.
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.
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.
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
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
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
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 }
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 }
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 .
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;
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.
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); } } .

Más contenido relacionado

PPTX
Introduccion a la poo
PDF
Uso de Excepciones en JAVA
PPTX
Introduction to C Programming
PPTX
functions in C and types
PDF
Estructuras lineales unidad 3
DOCX
Actividad 10: Reporte de polimorfismo, herencia & encapsulamiento
PDF
Arreglos Unidimensionales - Java - NetBeans
Introduccion a la poo
Uso de Excepciones en JAVA
Introduction to C Programming
functions in C and types
Estructuras lineales unidad 3
Actividad 10: Reporte de polimorfismo, herencia & encapsulamiento
Arreglos Unidimensionales - Java - NetBeans

La actualidad más candente (20)

PPTX
Java String
PPT
1 2 2 Relaciones Entre Clases
 
PPSX
Elementos De Una Clase
PPTX
Modos de direccionamiento y formatos
PDF
9 Curso de POO en java - variables, constantes y objetos
PDF
Definición de punteros en C++ en Introducción a la Programación
PPTX
Programación Orientada a Objetos - Unidad 2: clases y objetos
PDF
ESTRUCTURAS REPETITIVAS
PPT
Proceso de Compilacion
DOCX
Taller realizado por aldo estrada con pseint
PPT
Java non access modifiers
DOCX
Cuadro comparativo algoritmos de busqueda
PPTX
Type casting in java
PPTX
3. algoritmos de ordenamiento interno
PPTX
Modelos de arquitecturas de computadoras
PPTX
Manejo de los procesos en los sistemas operativos
PPT
Algoritmo Secuenciales
PPTX
Java awt (abstract window toolkit)
PDF
11 Curso de POO en java - métodos constructores y toString()
PPTX
Introducción a PHP
Java String
1 2 2 Relaciones Entre Clases
 
Elementos De Una Clase
Modos de direccionamiento y formatos
9 Curso de POO en java - variables, constantes y objetos
Definición de punteros en C++ en Introducción a la Programación
Programación Orientada a Objetos - Unidad 2: clases y objetos
ESTRUCTURAS REPETITIVAS
Proceso de Compilacion
Taller realizado por aldo estrada con pseint
Java non access modifiers
Cuadro comparativo algoritmos de busqueda
Type casting in java
3. algoritmos de ordenamiento interno
Modelos de arquitecturas de computadoras
Manejo de los procesos en los sistemas operativos
Algoritmo Secuenciales
Java awt (abstract window toolkit)
11 Curso de POO en java - métodos constructores y toString()
Introducción a PHP
Publicidad

Destacado (19)

PDF
Manejo de excepciones en Java
PPT
Excepciones en java
PPT
Excepciones
PPT
Arreglos Bidimensionales
PPTX
Clases y objetos en java
PPTX
Unidad 5: Excepciones Ejercicio 3
PDF
NetBeans - El único IDE que necesitas
PPT
5.manejo de excepciones
PDF
Migración de Base de Datos con SQL Developer
PPT
Arreglos en C
PPTX
Tutorial para Presentar un Informe
PPT
Los elementos para la redacción de reporte de investigación y ensayos coheren...
PPTX
Presentación en power point del informe
PPT
Presentación de Elaboración Reporte de Investigación
PPT
Diagramas UML
PPT
Presentacion de diapositivas para profesionales.
PPTX
Los 13 diagramas UML y sus componentes
PPT
Diapositivas Informe
PPTX
Arrays Bidimensionales y Multidimensionales - Carlos Correa
Manejo de excepciones en Java
Excepciones en java
Excepciones
Arreglos Bidimensionales
Clases y objetos en java
Unidad 5: Excepciones Ejercicio 3
NetBeans - El único IDE que necesitas
5.manejo de excepciones
Migración de Base de Datos con SQL Developer
Arreglos en C
Tutorial para Presentar un Informe
Los elementos para la redacción de reporte de investigación y ensayos coheren...
Presentación en power point del informe
Presentación de Elaboración Reporte de Investigación
Diagramas UML
Presentacion de diapositivas para profesionales.
Los 13 diagramas UML y sus componentes
Diapositivas Informe
Arrays Bidimensionales y Multidimensionales - Carlos Correa
Publicidad

Similar a Gestión de errores en Java (20)

PDF
JAVA ORIENTADO A OBJETOS - EXCEPCIONES
PDF
Exceptions (2)
PDF
Guia demanejodeexcepcionesaserciones
PDF
Tema 10 excepciones
PDF
05 java excepciones
PPTX
Gestión de Excepciones
PDF
Java oo tema09_excepciones
PPT
Excepciones
PPT
Gestion de errores en java
PDF
Java excepciones
PPT
Capitulo II
PPTX
Manejo de Excepciones
PPTX
05 Excepciones en Java presentacion.pptx
PDF
Cap9 excepciones
DOCX
Excepciones en Java
PDF
Tema 4 excepciones por gio
PDF
excepciones en java
PPT
EXCEPCIONES JAVA
PDF
Cu00927 c gestion excepciones java try catch finally ejemplos ejercicios
DOCX
Mas sobre excepciones
JAVA ORIENTADO A OBJETOS - EXCEPCIONES
Exceptions (2)
Guia demanejodeexcepcionesaserciones
Tema 10 excepciones
05 java excepciones
Gestión de Excepciones
Java oo tema09_excepciones
Excepciones
Gestion de errores en java
Java excepciones
Capitulo II
Manejo de Excepciones
05 Excepciones en Java presentacion.pptx
Cap9 excepciones
Excepciones en Java
Tema 4 excepciones por gio
excepciones en java
EXCEPCIONES JAVA
Cu00927 c gestion excepciones java try catch finally ejemplos ejercicios
Mas sobre excepciones

Más de eccutpl (20)

PDF
Jorge lopez web_apps
PPTX
Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Sof...
PDF
Sistemas Recomendadores - ws14
PDF
Seguridad de la información
PPT
Adquisicion Reconstruccion RM Parte 2
PPT
Adquisicion Reconstruccion RM Parte 1
PPT
Adquisicion Reconstruccion RM Part3
DOCX
Memoria pabloirarrázaval
PPTX
Difusión Científica y Publicación en Revistas de Impacto y Calidad
DOCX
Memoria Fernando Barrios
PPTX
La web educativa 2.0
DOCX
Guillermo montilla memoriatalleresponencia
PPT
Presentación neuropanacea
PPT
Violeta bazante gestion de información científica
PDF
Hugo pardo aprendizaje móvil
PDF
Drupal mas que un cms
PPTX
Identificación y seguimiento de artefactos en el proceso de desarrollo de sof...
PDF
Estructurar proyectos de desarrolla de software basados
PDF
Guía utilizacion de patentes
PPTX
1. uso de la información tecnológica
Jorge lopez web_apps
Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Sof...
Sistemas Recomendadores - ws14
Seguridad de la información
Adquisicion Reconstruccion RM Parte 2
Adquisicion Reconstruccion RM Parte 1
Adquisicion Reconstruccion RM Part3
Memoria pabloirarrázaval
Difusión Científica y Publicación en Revistas de Impacto y Calidad
Memoria Fernando Barrios
La web educativa 2.0
Guillermo montilla memoriatalleresponencia
Presentación neuropanacea
Violeta bazante gestion de información científica
Hugo pardo aprendizaje móvil
Drupal mas que un cms
Identificación y seguimiento de artefactos en el proceso de desarrollo de sof...
Estructurar proyectos de desarrolla de software basados
Guía utilizacion de patentes
1. uso de la información tecnológica

Último (20)

PDF
Influencia-del-uso-de-redes-sociales.pdf
PDF
Diapositiva proyecto de vida, materia catedra
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
PDF
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
PPTX
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PDF
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
PPTX
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PPTX
Propuesta BKP servidores con Acronis1.pptx
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PPTX
Sesion 1 de microsoft power point - Clase 1
PDF
Estrategia de apoyo tecnología miguel angel solis
PPTX
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PDF
Maste clas de estructura metálica y arquitectura
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
PPT
Que son las redes de computadores y sus partes
PPTX
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
Influencia-del-uso-de-redes-sociales.pdf
Diapositiva proyecto de vida, materia catedra
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
historia_web de la creacion de un navegador_presentacion.pptx
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Propuesta BKP servidores con Acronis1.pptx
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
Sesion 1 de microsoft power point - Clase 1
Estrategia de apoyo tecnología miguel angel solis
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Maste clas de estructura metálica y arquitectura
Zarate Quispe Alex aldayir aplicaciones de internet .docx
Que son las redes de computadores y sus partes
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx

Gestión de errores en Java

  • 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); } } .