Enviar búsqueda
Cargar
Uso de Excepciones en JAVA
•
0 recomendaciones
•
572 vistas
I
innovalabcun
Seguir
-
Leer menos
Leer más
Educación
Denunciar
Compartir
Denunciar
Compartir
1 de 9
Descargar ahora
Descargar para leer sin conexión
Recomendados
Flujo datos
Flujo datos
innovalabcun
ENTRADA Y SALIDA DE DATOS EN JAVA
ENTRADA Y SALIDA DE DATOS EN JAVA
Gabriel Suarez
Java con base de datos
Java con base de datos
Vicente Alberca
Manual de conexion a una base de datos con gambas
Manual de conexion a una base de datos con gambas
Moposita1994
Hilos En Java
Hilos En Java
Carlos Alberto Zelada Chavez
Diagramas Analisis
Diagramas Analisis
innovalabcun
Metodologiasad 1
Metodologiasad 1
innovalabcun
Clases y objetos de java
Clases y objetos de java
innovalabcun
Recomendados
Flujo datos
Flujo datos
innovalabcun
ENTRADA Y SALIDA DE DATOS EN JAVA
ENTRADA Y SALIDA DE DATOS EN JAVA
Gabriel Suarez
Java con base de datos
Java con base de datos
Vicente Alberca
Manual de conexion a una base de datos con gambas
Manual de conexion a una base de datos con gambas
Moposita1994
Hilos En Java
Hilos En Java
Carlos Alberto Zelada Chavez
Diagramas Analisis
Diagramas Analisis
innovalabcun
Metodologiasad 1
Metodologiasad 1
innovalabcun
Clases y objetos de java
Clases y objetos de java
innovalabcun
Conexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysql
ROQUE Caldas Dominguez
Manejo de archivos en JAVA
Manejo de archivos en JAVA
Michelle Torres
Clases de direcciones IP
Clases de direcciones IP
f_lazarte
Unidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos Conceptual
Sergio Sanchez
Modelos de datos
Modelos de datos
Alfredo Colcha
Rfc2460 es
Rfc2460 es
Alejandro Perez
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
hector_h30
Fundamentos de Bases de Datos - Introducción
Fundamentos de Bases de Datos - Introducción
Manuel Padilla
HISTORIA DE LAS BASES DE DATOS
HISTORIA DE LAS BASES DE DATOS
dfgdfgs
Protocolos de red
Protocolos de red
David Narváez
Routers CIsco: configu
Routers CIsco: configu
Jesús Moreno León
DIRECCIONAMIENTO IP BASICO I
DIRECCIONAMIENTO IP BASICO I
Ronald Reales Fernandez
La capa de aplicación
La capa de aplicación
Juan Alvarez
Direccionamiento ip
Direccionamiento ip
Koldo Parra
Unidad 1. Fundamentos de Base de Datos
Unidad 1. Fundamentos de Base de Datos
hugodanielgd
NORMALIZACIÓN
NORMALIZACIÓN
Jorge Paredes Toledo
Crear base de datos mysql command
Crear base de datos mysql command
Louis Jhosimar
Fundamentos de base de datos 1a. unidad
Fundamentos de base de datos 1a. unidad
emilio_ambrosio
Modelo Orientado A Objetos
Modelo Orientado A Objetos
jose_rob
Introducción a la Capa de Red
Introducción a la Capa de Red
Javier Peinado I
Java excepciones
Java excepciones
ricardo_79
excepciones en java
excepciones en java
www.mentoringit.com.mx
Más contenido relacionado
La actualidad más candente
Conexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysql
ROQUE Caldas Dominguez
Manejo de archivos en JAVA
Manejo de archivos en JAVA
Michelle Torres
Clases de direcciones IP
Clases de direcciones IP
f_lazarte
Unidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos Conceptual
Sergio Sanchez
Modelos de datos
Modelos de datos
Alfredo Colcha
Rfc2460 es
Rfc2460 es
Alejandro Perez
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
hector_h30
Fundamentos de Bases de Datos - Introducción
Fundamentos de Bases de Datos - Introducción
Manuel Padilla
HISTORIA DE LAS BASES DE DATOS
HISTORIA DE LAS BASES DE DATOS
dfgdfgs
Protocolos de red
Protocolos de red
David Narváez
Routers CIsco: configu
Routers CIsco: configu
Jesús Moreno León
DIRECCIONAMIENTO IP BASICO I
DIRECCIONAMIENTO IP BASICO I
Ronald Reales Fernandez
La capa de aplicación
La capa de aplicación
Juan Alvarez
Direccionamiento ip
Direccionamiento ip
Koldo Parra
Unidad 1. Fundamentos de Base de Datos
Unidad 1. Fundamentos de Base de Datos
hugodanielgd
NORMALIZACIÓN
NORMALIZACIÓN
Jorge Paredes Toledo
Crear base de datos mysql command
Crear base de datos mysql command
Louis Jhosimar
Fundamentos de base de datos 1a. unidad
Fundamentos de base de datos 1a. unidad
emilio_ambrosio
Modelo Orientado A Objetos
Modelo Orientado A Objetos
jose_rob
Introducción a la Capa de Red
Introducción a la Capa de Red
Javier Peinado I
La actualidad más candente
(20)
Conexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysql
Manejo de archivos en JAVA
Manejo de archivos en JAVA
Clases de direcciones IP
Clases de direcciones IP
Unidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos Conceptual
Modelos de datos
Modelos de datos
Rfc2460 es
Rfc2460 es
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
Fundamentos de Bases de Datos - Introducción
Fundamentos de Bases de Datos - Introducción
HISTORIA DE LAS BASES DE DATOS
HISTORIA DE LAS BASES DE DATOS
Protocolos de red
Protocolos de red
Routers CIsco: configu
Routers CIsco: configu
DIRECCIONAMIENTO IP BASICO I
DIRECCIONAMIENTO IP BASICO I
La capa de aplicación
La capa de aplicación
Direccionamiento ip
Direccionamiento ip
Unidad 1. Fundamentos de Base de Datos
Unidad 1. Fundamentos de Base de Datos
NORMALIZACIÓN
NORMALIZACIÓN
Crear base de datos mysql command
Crear base de datos mysql command
Fundamentos de base de datos 1a. unidad
Fundamentos de base de datos 1a. unidad
Modelo Orientado A Objetos
Modelo Orientado A Objetos
Introducción a la Capa de Red
Introducción a la Capa de Red
Destacado
Java excepciones
Java excepciones
ricardo_79
excepciones en java
excepciones en java
www.mentoringit.com.mx
Excepciones en java
Excepciones en java
jent46
Cu00927 c gestion excepciones java try catch finally ejemplos ejercicios
Cu00927 c gestion excepciones java try catch finally ejemplos ejercicios
Uniminuto - San Francisco
CONTINUIDAD
CONTINUIDAD
innovalabcun
Medidas de tendencia central II
Medidas de tendencia central II
innovalabcun
DIFERENCIACIÓN
DIFERENCIACIÓN
innovalabcun
CINEMÁTICA CAÍDA LEBRE Y SEMIPARABÓLICO
CINEMÁTICA CAÍDA LEBRE Y SEMIPARABÓLICO
innovalabcun
Medidas de dispersion o de variabilidad II
Medidas de dispersion o de variabilidad II
innovalabcun
Doc ley850 web - parte 2
Doc ley850 web - parte 2
innovalabcun
APLICACIONES DE LA DERIVADA
APLICACIONES DE LA DERIVADA
innovalabcun
DERIVADAS DE ORDEN SUPERIOR
DERIVADAS DE ORDEN SUPERIOR
innovalabcun
RAZÓN DE CAMBIO TEOREMA DE VALOR MEDIO
RAZÓN DE CAMBIO TEOREMA DE VALOR MEDIO
innovalabcun
DEFINICIÓN Y PROPIEDADES DE LA DERIVADA
DEFINICIÓN Y PROPIEDADES DE LA DERIVADA
innovalabcun
Entorno Personal de Aprendizaje
Entorno Personal de Aprendizaje
innovalabcun
Bibliografia
Bibliografia
innovalabcun
Diseño de presentaciones
Diseño de presentaciones
innovalabcun
Procedimiento Electoral Colombiano
Procedimiento Electoral Colombiano
innovalabcun
Programación III (Java) - 04 Excepciones
Programación III (Java) - 04 Excepciones
Andoni Eguíluz Morán
EL PRINCIPIO DE LA ORGANICIDAD
EL PRINCIPIO DE LA ORGANICIDAD
innovalabcun
Destacado
(20)
Java excepciones
Java excepciones
excepciones en java
excepciones en java
Excepciones en java
Excepciones en java
Cu00927 c gestion excepciones java try catch finally ejemplos ejercicios
Cu00927 c gestion excepciones java try catch finally ejemplos ejercicios
CONTINUIDAD
CONTINUIDAD
Medidas de tendencia central II
Medidas de tendencia central II
DIFERENCIACIÓN
DIFERENCIACIÓN
CINEMÁTICA CAÍDA LEBRE Y SEMIPARABÓLICO
CINEMÁTICA CAÍDA LEBRE Y SEMIPARABÓLICO
Medidas de dispersion o de variabilidad II
Medidas de dispersion o de variabilidad II
Doc ley850 web - parte 2
Doc ley850 web - parte 2
APLICACIONES DE LA DERIVADA
APLICACIONES DE LA DERIVADA
DERIVADAS DE ORDEN SUPERIOR
DERIVADAS DE ORDEN SUPERIOR
RAZÓN DE CAMBIO TEOREMA DE VALOR MEDIO
RAZÓN DE CAMBIO TEOREMA DE VALOR MEDIO
DEFINICIÓN Y PROPIEDADES DE LA DERIVADA
DEFINICIÓN Y PROPIEDADES DE LA DERIVADA
Entorno Personal de Aprendizaje
Entorno Personal de Aprendizaje
Bibliografia
Bibliografia
Diseño de presentaciones
Diseño de presentaciones
Procedimiento Electoral Colombiano
Procedimiento Electoral Colombiano
Programación III (Java) - 04 Excepciones
Programación III (Java) - 04 Excepciones
EL PRINCIPIO DE LA ORGANICIDAD
EL PRINCIPIO DE LA ORGANICIDAD
Similar a Uso de Excepciones en JAVA
Java exceptions
Java exceptions
Deli_amor
excepciones en java
excepciones en java
sandropaul
Java exceptions
Java exceptions
sandropaul
Excepciones
Excepciones
kattybe
5.manejo de excepciones
5.manejo de excepciones
Santiago Bernal
Java5
Java5
jbersosa
EXCEPCIONES JAVA
EXCEPCIONES JAVA
mellcv
excepciones_java en www.fiec.espol.edu.ec
excepciones_java en www.fiec.espol.edu.ec
Silvana Vargas
1 1 5 Objetos Excepcion
1 1 5 Objetos Excepcion
UVM
Tema 10 excepciones
Tema 10 excepciones
jbersosa
Mas sobre excepciones
Mas sobre excepciones
jbersosa
Lab excepciones
Lab excepciones
Andres Herrera Rodriguez
05 java excepciones
05 java excepciones
Renny Batista
11 Excepciones
11 Excepciones
Network Sens
Try catch
Try catch
jbersosa
Gestión de Excepciones
Gestión de Excepciones
Aurelio Martín Obando Távara
Exceptions (2)
Exceptions (2)
jbersosa
Taller 1 4
Taller 1 4
Eduardo Rosas Garcia
Gestión de errores en Java
Gestión de errores en Java
eccutpl
Gestion de errores en java
Gestion de errores en java
Jefferson Sarmiento
Similar a Uso de Excepciones en JAVA
(20)
Java exceptions
Java exceptions
excepciones en java
excepciones en java
Java exceptions
Java exceptions
Excepciones
Excepciones
5.manejo de excepciones
5.manejo de excepciones
Java5
Java5
EXCEPCIONES JAVA
EXCEPCIONES JAVA
excepciones_java en www.fiec.espol.edu.ec
excepciones_java en www.fiec.espol.edu.ec
1 1 5 Objetos Excepcion
1 1 5 Objetos Excepcion
Tema 10 excepciones
Tema 10 excepciones
Mas sobre excepciones
Mas sobre excepciones
Lab excepciones
Lab excepciones
05 java excepciones
05 java excepciones
11 Excepciones
11 Excepciones
Try catch
Try catch
Gestión de Excepciones
Gestión de Excepciones
Exceptions (2)
Exceptions (2)
Taller 1 4
Taller 1 4
Gestión de errores en Java
Gestión de errores en Java
Gestion de errores en java
Gestion de errores en java
Más de innovalabcun
Estado del arte
Estado del arte
innovalabcun
Elaboración de un proyecto de investigación
Elaboración de un proyecto de investigación
innovalabcun
Reproduccion animales
Reproduccion animales
innovalabcun
Reproduccion plantas
Reproduccion plantas
innovalabcun
Genes cromosomas
Genes cromosomas
innovalabcun
Anabolismo
Anabolismo
innovalabcun
Catabolismo
Catabolismo
innovalabcun
Metabolismo
Metabolismo
innovalabcun
La estructura de la célula
La estructura de la célula
innovalabcun
Las Moléculas de la Vida Información complementaria
Las Moléculas de la Vida Información complementaria
innovalabcun
El atomo
El atomo
innovalabcun
Quimica organica
Quimica organica
innovalabcun
Subneting -
Subneting -
innovalabcun
MECÁNICA: CONCEPTOS BÁSICOS
MECÁNICA: CONCEPTOS BÁSICOS
innovalabcun
ELEMENTOS DE UN SISTEMA
ELEMENTOS DE UN SISTEMA
innovalabcun
SUBSISTEMAS DE CONTROL
SUBSISTEMAS DE CONTROL
innovalabcun
DISEÑO MEJORAMIENTO DE LOS SISTEMAS
DISEÑO MEJORAMIENTO DE LOS SISTEMAS
innovalabcun
Doc ley850 web - parte 1
Doc ley850 web - parte 1
innovalabcun
el control de la gestión contractual de las identidades publicas
el control de la gestión contractual de las identidades publicas
innovalabcun
Memorias del programa en capacitación ciudadana y control social: En la garan...
Memorias del programa en capacitación ciudadana y control social: En la garan...
innovalabcun
Más de innovalabcun
(20)
Estado del arte
Estado del arte
Elaboración de un proyecto de investigación
Elaboración de un proyecto de investigación
Reproduccion animales
Reproduccion animales
Reproduccion plantas
Reproduccion plantas
Genes cromosomas
Genes cromosomas
Anabolismo
Anabolismo
Catabolismo
Catabolismo
Metabolismo
Metabolismo
La estructura de la célula
La estructura de la célula
Las Moléculas de la Vida Información complementaria
Las Moléculas de la Vida Información complementaria
El atomo
El atomo
Quimica organica
Quimica organica
Subneting -
Subneting -
MECÁNICA: CONCEPTOS BÁSICOS
MECÁNICA: CONCEPTOS BÁSICOS
ELEMENTOS DE UN SISTEMA
ELEMENTOS DE UN SISTEMA
SUBSISTEMAS DE CONTROL
SUBSISTEMAS DE CONTROL
DISEÑO MEJORAMIENTO DE LOS SISTEMAS
DISEÑO MEJORAMIENTO DE LOS SISTEMAS
Doc ley850 web - parte 1
Doc ley850 web - parte 1
el control de la gestión contractual de las identidades publicas
el control de la gestión contractual de las identidades publicas
Memorias del programa en capacitación ciudadana y control social: En la garan...
Memorias del programa en capacitación ciudadana y control social: En la garan...
Último
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
JonathanCovena1
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
romanmillans
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
lclcarmen
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
José Luis Palma
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
José Luis Palma
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
Laura Chacón
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
Joaquín Marbán Sánchez
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Carlos Muñoz
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
josetrinidadchavez
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
alekzHuri
Marketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETP
ANEP - DETP
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
OscarEduardoSanchezC
La Función tecnológica del tutor.pptx
La Función tecnológica del tutor.pptx
Junkotantik
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
danalikcruz2000
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
patriciaines1993
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
samyarrocha1
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
Maestría en Comunicación Digital Interactiva - UNR
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
DaluiMonasterio
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Fundación YOD YOD
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
fcastellanos3
Último
(20)
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
Marketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETP
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
La Función tecnológica del tutor.pptx
La Función tecnológica del tutor.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Uso de Excepciones en JAVA
1.
Excepciones - 6
- © Fernando Berzal Uso de excepciones en JavaUso de excepciones en JavaUso de excepciones en JavaUso de excepciones en Java En Java, cuando se produce un error en un método, “se lanza” un objeto Throwable. Cualquier método que haya llamado al método puede “capturar la excepción” y tomar las medidas que estime oportunas. Tras capturar la excepción, el control no vuelve al método en el que se produjo la excepción, sino que la ejecución del programa continúa en el punto donde se haya capturado la excepción. Consecuencia: Nunca más tendremos que preocuparnos de “diseñar” códigos de error. Jerarquía de clases para el manejo de excepciones en Java !" # $
2.
Excepciones - 7
- © Fernando Berzal Throwable Clase base que representa todo lo que se puede “lanzar” en Java Contiene una instantánea del estado de la pila en el momento en el que se creó el objeto ( “stack trace” o “call chain"). Almacena un mensaje (variable de instancia de tipo String) que podemos utilizar para detallar qué error se produjo. Puede tener una causa, también de tipo Throwable, que permite representar el error que causó este error. Error Subclase de Throwable que indica problemas graves que una aplicación no debería intentar solucionar (documentación de Java). Ejemplos: Memoria agotada, error interno de la JVM… Exception Exception y sus subclases indican situaciones que una aplicación debería tratar de forma razonable. Los dos tipos principales de excepciones son: RuntimeException (errores del programador, como una división por cero o el acceso fuera de los límites de un array) IOException (errores que no puede evitar el programador, generalmente relacionados con la entrada/salida del programa).
3.
Excepciones - 8
- © Fernando Berzal Captura de excepciones: Bloques try…catch Se utilizan en Java para capturar las excepciones que se hayan podido producir en el bloque de código delimitado por try y catch. En cuanto se produce la excepción, la ejecución del bloque try termina. La cláusula catch recibe como argumento un objeto Throwable. // Bloque 1 try { // Bloque 2 } catch (Exception error) { // Bloque 3 } // Bloque 4 Sin excepciones: 1 → 2 → 4 Con una excepción en el bloque 2: 1 → 2* → 3 → 4 Con una excepción en el bloque 1: 1* // Bloque 1 try { // Bloque 2 } catch (ArithmeticException ae) { // Bloque 3 } catch (NullPointerException ne) { // Bloque 4 } // Bloque 5 Sin excepciones: 1 → 2 → 5 Excepción de tipo aritmético: 1 → 2* → 3 → 5 Acceso a un objeto nulo (null): 1 → 2* → 4 → 5 Excepción de otro tipo diferente: 1 → 2*
4.
Excepciones - 9
- © Fernando Berzal // Bloque1 try { // Bloque 2 } catch (ArithmeticException ae) { // Bloque 3 } catch (Exception error) { // Bloque 4 } // Bloque 5 Sin excepciones: 1 → 2 → 5 Excepción de tipo aritmético: 1 → 2* → 3 → 5 Excepción de otro tipo diferente: 1 → 2* → 4 → 5 ¡Ojo! Las cláusulas check se comprueban en orden // Bloque1 try { // Bloque 2 } catch (Exception error) { // Bloque 3 } catch (ArithmeticException ae) { // Bloque 4 } // Bloque 5 Sin excepciones: 1 → 2 → 5 Excepción de tipo aritmético: 1 → 2* → 3 → 5 Excepción de otro tipo diferente: 1 → 2* → 3 → 5 ¡ El bloque 4 nunca se llegará a ejecutar !
5.
Excepciones - 10
- © Fernando Berzal La cláusula finally En ocasiones, nos interesa ejecutar un fragmento de código independientemente de si se produce o no una excepción (por ejemplo, cerrar un fichero que estemos manipulando). // Bloque1 try { // Bloque 2 } catch (ArithmeticException ae) { // Bloque 3 } finally { // Bloque 4 } // Bloque 5 Sin excepciones: 1 → 2 → 4 → 5 Excepción de tipo aritmético: 1 → 2* → 3 → 4 → 5 Excepción de otro tipo diferente: 1 → 2* → 4 Si el cuerpo del bloque try llega a comenzar su ejecución, el bloque finally siempre se ejecutará… Detrás del bloque try si no se producen excepciones Después de un bloque catch si éste captura la excepción. Justo después de que se produzca la excepción si ninguna cláusula catch captura la excepción y antes de que la excepción se propague hacia arriba.
6.
Excepciones - 11
- © Fernando Berzal Lanzamiento de excepciones La sentencia throw Se utiliza en Java para lanzar objetos de tipo Throwable throw new Exception(“Mensaje de error…”); Cuando se lanza una excepción: Se sale inmediatamente del bloque de código actual Si el bloque tiene asociada una cláusula catch adecuada para el tipo de la excepción generada, se ejecuta el cuerpo de la cláusula catch. Si no, se sale inmediatamente del bloque (o método) dentro del cual está el bloque en el que se produjo la excepción y se busca una cláusula catch apropiada. El proceso continúa hasta llegar al método main de la aplicación. Si ahí tampoco existe una cláusula catch adecuada, la máquina virtual Java finaliza su ejecución con un mensaje de error. Propagación de excepciones (throws) Si en el cuerpo de un método se lanza una excepción (de un tipo derivado de la clase Exception), en la cabecera del método hay que añadir una cláusula throws que incluye una lista de los tipos de excepciones que se pueden producir al invocar el método. Ejemplo public String leerFichero (String nombreFichero) throws IOException ... Las excepciones de tipo RuntimeException (que son muy comunes) no es necesario declararlas en la cláusula throws.
7.
Excepciones - 12
- © Fernando Berzal Al implementar un método, hay que decidir si las excepciones se propagarán hacia arriba (throws) o se capturar en el propio método (catch) 1. Un método que propaga una excepción: public void f() throws IOException { // Fragmento de código que puede // lanzar una excepción de tipo IOException } NOTA: Un método puede lanzar una excepción porque cree explícitamente un objeto Throwable y lo lance con throw, o bien porque llame a un método que genere la excepción y no la capture. 2. Un método equivalente que no propaga la excepción: public void f() { // Fragmento de código libre de excepciones try { // Fragmento de código que puede // lanzar una excepción de tipo IOException // (p.ej. Acceso a un fichero) } catch (IOException error) { // Tratamiento de la excepción } finally { // Liberar recursos (siempre se hace) } }
8.
Excepciones - 13
- © Fernando Berzal Ejemplo clásico … public void transferir (String IDorigen, String IDdestino, int cantidad) { Cuenta origen; Cuenta destino; // Comenzar transacción database.startTransaction(); try { origen = database.find(IDorigen); if (origen == null) throw new Exception("No existe ” + IDorigen); origen.setBalance (origen.getBalance() – cantidad); database.store(origen); destino = database.find(IDdestino); if (destino == null) throw new Exception("No existe ” + IDdestino); destino.setBalance(destino.getBalance()+cantidad); database.store(destino) // Confirmar la transacción database.commit(); } catch (Exception error) { // Cancelar la transacción database.rollback(); } } …
9.
Excepciones - 14
- © Fernando Berzal Creación de nuevos tipos de excepciones Un nuevo tipo de excepción puede crearse fácilmente: basta con definir una subclase de un tipo de excepción ya existente. public DivideByZeroException extends ArithmeticException { public DivideByZeroException(String Message) { super(message); } } Una excepción de este tipo puede entonces lanzarse como cualquier otra excepción: public double dividir(int num, int den) throws DivideByZeroException { if (den==0) throw new DivideByZeroException(“Error!”); return ((double) num/(double)den);` } NOTA: Las aplicaciones suelen definir sus propias subclases de la clase Exception para representar situaciones excepcionales específicas de cada aplicación.
Descargar ahora