SlideShare una empresa de Scribd logo
1 de 44
MÓDULO 3 INTRODUCCIÓN A JAVA 3.12 EXCEPCIONES 40 HORAS Jesús Muñoz jesus@iluego.com
Contenidos tema 3 – Introducción a Java Comenzamos Bases del lenguaje Java Programación Orientada a Objetos (OOP) Clases y objetos Creando clases Paquetes y java classpath Javabeans Herencia Clases abstractas e interfaces Polimorfismo Clases internas Excepciones Logging Networking 2
3 Contenidos de este tema Excepciones Qué es la excepción Qué ocurre tras una excepción Beneficios de la captura de excepciones Práctico Capturando con try/catch Múltiple catch Finally Lanzando excepciones y reglas Jerarquía de excepciones Lanzando excepciones Jerarquía de excepciones Checked y unchecked exceptions Creando tu propia clase de excepción Assertions Sintaxis de assertions Ejemplo
4 Contenidos de este tema Excepciones Qué es la excepción Qué ocurre tras una excepción Beneficios de la captura de excepciones Práctico Capturando con try/catch Múltiple catch Finally Lanzando excepciones y reglas Jerarquía de excepciones Lanzando excepciones Jerarquía de excepciones Checked y unchecked exceptions Creando tu propia clase de excepción Assertions Sintaxis de assertions Ejemplo
5 Qué es una excepción Evento excepcional, normalmente ocurren durante tiempo de ejecución Causa normal del flujo del programa, aspectos no controlados (mala programación? NO) Ejemplos: Dividir por cero Acceder los elementos del array fuera de rango Input inválido Disco duro, error Intentar abrir fichero no existente Falta de memoria
6 Contenidos de este tema Excepciones Qué es la excepción Qué ocurre tras una excepción Beneficios de la captura de excepciones Práctico Capturando con try/catch Múltiple catch Finally Lanzando excepciones y reglas Jerarquía de excepciones Lanzando excepciones Jerarquía de excepciones Checked y unchecked exceptions Creando tu propia clase de excepción Assertions Sintaxis de assertions Ejemplo
7 Qué ocurre tras una excepción Cuando una excepción ocurre dentro de un método, el método crea un objeto Exception y lo lleva a la ejecución del sistema Crear un objeto Exception y enviarla a la ejecución del sistema se llama “lanzar una excepción (throwing an exception)” El objeto de excepción contiene información sobre el error, incluyendo su tipo y el estado del programa cuando el error ocurre
8 Qué ocurre tras una excepción El sistema en ejecución busca en la pila hasta encontrar un método que tenga un capturador de excepciones
9 Qué ocurre tras una excepción Cuando un capturador de excepciones es encontrado, el programa pasa la excepción al capturador Un capturador de excepciones es considerado apropiado si el tipo del objeto Exception coincide con el tipo a ser capturado El capturador es elegido específicamente para capturar la excepción Si la ejecución del sistma busca exhaustivamente todos los métodos en la pila sin encontrar un capturador apropiado, el sistema (y, claro está, el programa) termina y usa el capturador por defecto
10 Contenidos de este tema Excepciones Qué es la excepción Qué ocurre tras una excepción Beneficios de la captura de excepciones Práctico Capturando con try/catch Múltiple catch Finally Lanzando excepciones y reglas Jerarquía de excepciones Lanzando excepciones Jerarquía de excepciones Checked y unchecked exceptions Creando tu propia clase de excepción Assertions Sintaxis de assertions Ejemplo
11 Beneficios de la captura de excepciones Separando la caputura de excepciones del resto del código de la lógica normal: Propagación de errores hacia arriba en la pila Agrupación y diferenciación de tipos de error
12 Contenidos de este tema Excepciones Qué es la excepción Qué ocurre tras una excepción Beneficios de la captura de excepciones Práctico Capturando con try/catch Múltiple catch Finally Lanzando excepciones y reglas Jerarquía de excepciones Lanzando excepciones Jerarquía de excepciones Checked y unchecked exceptions Creando tu propia clase de excepción Assertions Sintaxis de assertions Ejemplo
13 PRÁCTICO
14 Contenidos de este tema Excepciones Qué es la excepción Qué ocurre tras una excepción Beneficios de la captura de excepciones Práctico Capturando con try/catch Múltiple catch Finally Lanzando excepciones y reglas Jerarquía de excepciones Lanzando excepciones Jerarquía de excepciones Checked y unchecked exceptions Creando tu propia clase de excepción Assertions Sintaxis de assertions Ejemplo
15 Capturando con try/catch Sintaxis: try { <code to be monitored for exceptions> } catch (<ExceptionType1> <ObjName>) { <handler if ExceptionType1 occurs> } ... } catch (<ExceptionTypeN> <ObjName>) { <handler if ExceptionTypeN occurs> }
16 Capturando con try/catch Ejemplo: class DivByZero { public static void main(String args[]) { try { System.out.println(3/0); System.out.println(“Please print me.”); } catch (ArithmeticException exc) { //Division by zero is an ArithmeticException System.out.println(exc); } System.out.println(“After exception.”); } }
17 Contenidos de este tema Excepciones Qué es la excepción Qué ocurre tras una excepción Beneficios de la captura de excepciones Práctico Capturando con try/catch Múltiple catch Finally Lanzando excepciones y reglas Jerarquía de excepciones Lanzando excepciones Jerarquía de excepciones Checked y unchecked exceptions Creando tu propia clase de excepción Assertions Sintaxis de assertions Ejemplo
18 Múltiple catch Ejemplo: class MultipleCatch { public static void main(String args[]) { try { int den = Integer.parseInt(args[0]); System.out.println(3/den); } catch (ArithmeticException exc) { System.out.println(“Divisor was 0.”); } catch (ArrayIndexOutOfBoundsException exc2) { System.out.println(“Missing argument.”); } System.out.println(“After exception.”); } }
19 Contenidos de este tema Excepciones Qué es la excepción Qué ocurre tras una excepción Beneficios de la captura de excepciones Práctico Capturando con try/catch Múltiple catch Finally Lanzando excepciones y reglas Jerarquía de excepciones Lanzando excepciones Jerarquía de excepciones Checked y unchecked exceptions Creando tu propia clase de excepción Assertions Sintaxis de assertions Ejemplo
20 Finally Bloque de código que es ejecutado SIEMPRE, sin importar el escenario presentado: Exit forzado ocurre cuando usamos return, continue o break Finalización normal Excepción lanzada y capturada Excepción fue lanzada y capturada en el método Excepción lanzada y no capturada Excepción lanzada pero no fue especificada en ningún bloque catch en el método
21 Finally Contiene el código para finalizar lo hecho en try/catch ocurra lo que ocurra en éstos Sintaxis: try { <code to be monitored for exceptions> } catch (<ExceptionType1> <ObjName>) { <handler if ExceptionType1 occurs> } ... } finally { <code to be executed before the try block ends> }
22 Contenidos de este tema Excepciones Qué es la excepción Qué ocurre tras una excepción Beneficios de la captura de excepciones Práctico Capturando con try/catch Múltiple catch Finally Lanzando excepciones y reglas Jerarquía de excepciones Lanzando excepciones Jerarquía de excepciones Checked y unchecked exceptions Creando tu propia clase de excepción Assertions Sintaxis de assertions Ejemplo
23 Lanzando excepciones Java te permite lanzar excepciones (generar excepciones) throw <exception object>; Una excepción que lanzas es un objecto Tienes que crear un objecto de excepción en el mismo modo que creas cualquier objeto Ejemplo: throw new ArithmeticException(“testing...”);
24 Lanzando excepciones class ThrowDemo { public static void main(String args[]){ String input = “invalid input”; try { if (input.equals(“invalid input”)) { throw new RuntimeException("throw demo"); } else { System.out.println(input); } System.out.println("After throwing"); } catch (RuntimeException e) { System.out.println("Exception caught:" + e); } } }
25 Lanzando excepciones - reglas Un método es requerido para capturar o listar excepciones susceptibles de ser lanzadas Excepto para Error, RuntimeException o sus subclases Si un método puede causar una excepción pero no la trata, la puede devolver hacia arriba mediante la palabra reservada throws keyword. Sólo aplicable a excepciones checadas Sintaxis: <type> <methodName> (<parameterList>) throws <exceptionList> { <methodBody> }
26 Contenidos de este tema Excepciones Qué es la excepción Qué ocurre tras una excepción Beneficios de la captura de excepciones Práctico Capturando con try/catch Múltiple catch Finally Lanzando excepciones y reglas Jerarquía de excepciones Lanzando excepciones Jerarquía de excepciones Checked y unchecked exceptions Creando tu propia clase de excepción Assertions Sintaxis de assertions Ejemplo
27 Jerarquía de excepciones Throwable class Raíz de las clases de excepciones Subclases inmediatas: Error Usado por java runtime para capturar errores. Generalmente fuera del control del usuario del programa. Ejemplos: Out of memory Hard disk crash Exception Las condiciones con las que el usuario ha de lidiar normalmente. El resultado suele ser alguna notificación de error al usuario en el propio programa Ejemplos: División por cero Array fuera de rango
28 Contenidos de este tema Excepciones Qué es la excepción Qué ocurre tras una excepción Beneficios de la captura de excepciones Práctico Capturando con try/catch Múltiple catch Finally Lanzando excepciones y reglas Jerarquía de excepciones Lanzando excepciones Jerarquía de excepciones Checked y unchecked exceptions Creando tu propia clase de excepción Assertions Sintaxis de assertions Ejemplo
29 Lanzando excepciones Varios catches deben ser ordenados desde las subclases hacia la superclase class MultipleCatchError { public static void main(String args[]){ try { int a = Integer.parseInt(args [0]); int b = Integer.parseInt(args [1]); System.out.println(a/b); } catch (ArrayIndexOutOfBoundsException e) { } catch (Exception ex) { } } }
30 Contenidos de este tema Excepciones Qué es la excepción Qué ocurre tras una excepción Beneficios de la captura de excepciones Práctico Capturando con try/catch Múltiple catch Finally Lanzando excepciones y reglas Jerarquía de excepciones Lanzando excepciones Jerarquía de excepciones Checked y unchecked exceptions Creando tu propia clase de excepción Assertions Sintaxis de assertions Ejemplo
31 Jerarquía de excepciones Throwable class Raíz de las clases de excepciones Subclases inmediatas: Error Usado por java runtime para capturar errores. Generalmente fuera del control del usuario del programa. Ejemplos: Out of memory Hard disk crash Exception Las condiciones con las que el usuario ha de lidiar normalmente. El resultado suele ser alguna notificación de error al usuario en el propio programa Ejemplos: División por cero Array fuera de rango
32 Contenidos de este tema Excepciones Qué es la excepción Qué ocurre tras una excepción Beneficios de la captura de excepciones Práctico Capturando con try/catch Múltiple catch Finally Lanzando excepciones y reglas Jerarquía de excepciones Lanzando excepciones Jerarquía de excepciones Checked y unchecked exceptions Creando tu propia clase de excepción Assertions Sintaxis de assertions Ejemplo
33 Checked and unchecked exceptions Checked exception El compilador java comprueba si el programa cachea o lista las ocurrencias de excepciones Si no se capturan, hay error de compilación Unchecked exception No sujeto a chequeos en tiempo de compilación Error RuntimeException Sus subclases: Capturando todas esas excepciones podemos excedernos de los requerimientos reales del sistema, cuidado!
34 Contenidos de este tema Excepciones Qué es la excepción Qué ocurre tras una excepción Beneficios de la captura de excepciones Práctico Capturando con try/catch Múltiple catch Finally Lanzando excepciones y reglas Jerarquía de excepciones Lanzando excepciones Jerarquía de excepciones Checked y unchecked exceptions Creando tu propia clase de excepción Assertions Sintaxis de assertions Ejemplo
35 Creando tu propia clase de excepción Pasos a seguir: Crear una clase que extienda de RuntimeException o de Exception Personalizar la clase: Miembros y constructores deben ser añadidos a la clase Ejemplo: class HateStringExp extends RuntimeException { /* some code */ }
36 Creando tu propia clase de excepción class TestHateString { public static void main(String args[]) { String input = "invalid input"; try { if (input.equals("invalid input")) { throw new HateStringExp(); } System.out.println("Accept string."); } catch (HateStringExp e) { System.out.println("Hate string!”); } } }
37 Contenidos de este tema Excepciones Qué es la excepción Qué ocurre tras una excepción Beneficios de la captura de excepciones Práctico Capturando con try/catch Múltiple catch Finally Lanzando excepciones y reglas Jerarquía de excepciones Lanzando excepciones Jerarquía de excepciones Checked y unchecked exceptions Creando tu propia clase de excepción Assertions Sintaxis de assertions Ejemplo
38 Assertions Permiten al programador controlar si los objetivos del programa son alcanzados Informa a la persona responsible del código de que una condición particular debe ser siempre satisfecha La ejecución del programa informa de si la aserción es verdadero o falso Si la aserción es NO verdadera, se lanza una excepción AssertionError. El usuario tiene la opción de desactivar o activar la aserción al ejecutar la aplicación
39 Assertions – activación/desactivación Un programa con assertions es posible que no trabaje correctamente si es usado por clientes que no están al tanto de las aserciones usadas en el código Compilando Con capacidad de assertion: javac –source 1.4 MyProgram.java Sin la capacidad de assertion: javac MyProgram.java Activando assertions: Usar el enableassertions o el ea switch java –enableassertions MyProgram
40 Contenidos de este tema Excepciones Qué es la excepción Qué ocurre tras una excepción Beneficios de la captura de excepciones Práctico Capturando con try/catch Múltiple catch Finally Lanzando excepciones y reglas Jerarquía de excepciones Lanzando excepciones Jerarquía de excepciones Checked y unchecked exceptions Creando tu propia clase de excepción Assertions Sintaxis de assertions Ejemplo
41 Sintaxis de assertion Dos formas: Forma simple: 		assert <expression1>; donde 		<expression1> is the condition asserted to be true Otra forma: 			assert <expression1> : <expression2>; donde <expression1> is the condition asserted to be true 	<expression2> is some information helpful in diagnosing why the statement failed
42 Contenidos de este tema Excepciones Qué es la excepción Qué ocurre tras una excepción Beneficios de la captura de excepciones Práctico Capturando con try/catch Múltiple catch Finally Lanzando excepciones y reglas Jerarquía de excepciones Lanzando excepciones Jerarquía de excepciones Checked y unchecked exceptions Creando tu propia clase de excepción Assertions Sintaxis de assertions Ejemplo
43 Ejemplo class AgeAssert { public static void main(String args[]) { int age = Integer.parseInt(args[0]); assert(age>0); /* if age is valid (i.e., age>0) */ if (age >= 18) { System.out.println(“You're an adult! =)”); } } }
Es importante que recordeis… “Si haces todos los días lo mismo no llegarás más lejos de lo que otras veces has llegado” Adelante!!! Jesús Muñoz jesus@iluego.com

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Java excepciones
Java excepcionesJava excepciones
Java excepciones
 
Gestión de errores en Java
Gestión de errores en JavaGestión de errores en Java
Gestión de errores en Java
 
Capitulo 16- Excepciones en Java
Capitulo 16- Excepciones en JavaCapitulo 16- Excepciones en Java
Capitulo 16- Excepciones en Java
 
5.manejo de excepciones
5.manejo de excepciones5.manejo de excepciones
5.manejo de excepciones
 
Exceptions (2)
Exceptions (2)Exceptions (2)
Exceptions (2)
 
Java exceptions
Java exceptionsJava exceptions
Java exceptions
 
Excepciones en java
Excepciones en javaExcepciones en java
Excepciones en java
 
Java exceptions
Java exceptionsJava exceptions
Java exceptions
 
Java5
Java5Java5
Java5
 
Gestión de Excepciones
Gestión de ExcepcionesGestión de Excepciones
Gestión de Excepciones
 
Guia demanejodeexcepcionesaserciones
Guia demanejodeexcepcionesasercionesGuia demanejodeexcepcionesaserciones
Guia demanejodeexcepcionesaserciones
 
Manejo Estructurado De Excepciones
Manejo Estructurado De ExcepcionesManejo Estructurado De Excepciones
Manejo Estructurado De Excepciones
 
Manejo De Excepciones
Manejo De ExcepcionesManejo De Excepciones
Manejo De Excepciones
 
Clase 6 excepciones
Clase 6   excepcionesClase 6   excepciones
Clase 6 excepciones
 
Uso de Excepciones en JAVA
Uso de Excepciones en JAVAUso de Excepciones en JAVA
Uso de Excepciones en JAVA
 
excepciones_java en www.fiec.espol.edu.ec
excepciones_java  en www.fiec.espol.edu.ecexcepciones_java  en www.fiec.espol.edu.ec
excepciones_java en www.fiec.espol.edu.ec
 
Excepciones
ExcepcionesExcepciones
Excepciones
 
Excepciones
ExcepcionesExcepciones
Excepciones
 
Resumen
ResumenResumen
Resumen
 
Clase x
Clase xClase x
Clase x
 

Similar a 11 Excepciones

Similar a 11 Excepciones (17)

Excepciones
ExcepcionesExcepciones
Excepciones
 
1 1 5 Objetos Excepcion
1 1 5 Objetos Excepcion1 1 5 Objetos Excepcion
1 1 5 Objetos Excepcion
 
Mas sobre excepciones
Mas sobre excepcionesMas sobre excepciones
Mas sobre excepciones
 
Tema 4 excepciones por gio
Tema 4   excepciones por gioTema 4   excepciones por gio
Tema 4 excepciones por gio
 
excepciones en java
excepciones en javaexcepciones en java
excepciones en java
 
Try catch
Try catchTry catch
Try catch
 
Lab excepciones
Lab excepcionesLab excepciones
Lab excepciones
 
EXCEPCIONES JAVA
EXCEPCIONES JAVAEXCEPCIONES JAVA
EXCEPCIONES JAVA
 
6 excepciones
6 excepciones6 excepciones
6 excepciones
 
Excepciones.pptx
Excepciones.pptxExcepciones.pptx
Excepciones.pptx
 
Gestion de errores en java
Gestion de errores en javaGestion de errores en java
Gestion de errores en java
 
11-Unidad 3: Encapsulamiento y modularidad
11-Unidad 3: Encapsulamiento y modularidad11-Unidad 3: Encapsulamiento y modularidad
11-Unidad 3: Encapsulamiento y modularidad
 
Excepciones
ExcepcionesExcepciones
Excepciones
 
Excepciones
ExcepcionesExcepciones
Excepciones
 
Lab excepciones propias
Lab excepciones propiasLab excepciones propias
Lab excepciones propias
 
Manejo de Excepciones
Manejo de ExcepcionesManejo de Excepciones
Manejo de Excepciones
 
Cu00927 c gestion excepciones java try catch finally ejemplos ejercicios
Cu00927 c gestion excepciones java try catch finally ejemplos ejerciciosCu00927 c gestion excepciones java try catch finally ejemplos ejercicios
Cu00927 c gestion excepciones java try catch finally ejemplos ejercicios
 

Más de Network Sens

J2EE - 01 Arquitectura Web
J2EE - 01   Arquitectura WebJ2EE - 01   Arquitectura Web
J2EE - 01 Arquitectura WebNetwork Sens
 
09 Clases Abstractas E Interfaces
09   Clases Abstractas E Interfaces09   Clases Abstractas E Interfaces
09 Clases Abstractas E InterfacesNetwork Sens
 
01 - Introducción
01 - Introducción01 - Introducción
01 - IntroducciónNetwork Sens
 
06 Paquetes Y Java Classpath
06   Paquetes Y Java Classpath06   Paquetes Y Java Classpath
06 Paquetes Y Java ClasspathNetwork Sens
 
04 Clases Y Objetos
04   Clases Y Objetos04   Clases Y Objetos
04 Clases Y ObjetosNetwork Sens
 
02 Bases Del Lenguaje Java
02   Bases Del Lenguaje Java02   Bases Del Lenguaje Java
02 Bases Del Lenguaje JavaNetwork Sens
 

Más de Network Sens (13)

J2EE - 01 Arquitectura Web
J2EE - 01   Arquitectura WebJ2EE - 01   Arquitectura Web
J2EE - 01 Arquitectura Web
 
03 Oop
03   Oop03   Oop
03 Oop
 
13 Networking
13   Networking13   Networking
13 Networking
 
12 Logging
12   Logging12   Logging
12 Logging
 
10 Polimorfismo
10   Polimorfismo10   Polimorfismo
10 Polimorfismo
 
09 Clases Abstractas E Interfaces
09   Clases Abstractas E Interfaces09   Clases Abstractas E Interfaces
09 Clases Abstractas E Interfaces
 
08 Herencia
08   Herencia08   Herencia
08 Herencia
 
07 Javabeans
07   Javabeans07   Javabeans
07 Javabeans
 
01 - Introducción
01 - Introducción01 - Introducción
01 - Introducción
 
05 Creando Clases
05   Creando Clases05   Creando Clases
05 Creando Clases
 
06 Paquetes Y Java Classpath
06   Paquetes Y Java Classpath06   Paquetes Y Java Classpath
06 Paquetes Y Java Classpath
 
04 Clases Y Objetos
04   Clases Y Objetos04   Clases Y Objetos
04 Clases Y Objetos
 
02 Bases Del Lenguaje Java
02   Bases Del Lenguaje Java02   Bases Del Lenguaje Java
02 Bases Del Lenguaje Java
 

Último

CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 

Último (13)

CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 

11 Excepciones

  • 1. MÓDULO 3 INTRODUCCIÓN A JAVA 3.12 EXCEPCIONES 40 HORAS Jesús Muñoz jesus@iluego.com
  • 2. Contenidos tema 3 – Introducción a Java Comenzamos Bases del lenguaje Java Programación Orientada a Objetos (OOP) Clases y objetos Creando clases Paquetes y java classpath Javabeans Herencia Clases abstractas e interfaces Polimorfismo Clases internas Excepciones Logging Networking 2
  • 3. 3 Contenidos de este tema Excepciones Qué es la excepción Qué ocurre tras una excepción Beneficios de la captura de excepciones Práctico Capturando con try/catch Múltiple catch Finally Lanzando excepciones y reglas Jerarquía de excepciones Lanzando excepciones Jerarquía de excepciones Checked y unchecked exceptions Creando tu propia clase de excepción Assertions Sintaxis de assertions Ejemplo
  • 4. 4 Contenidos de este tema Excepciones Qué es la excepción Qué ocurre tras una excepción Beneficios de la captura de excepciones Práctico Capturando con try/catch Múltiple catch Finally Lanzando excepciones y reglas Jerarquía de excepciones Lanzando excepciones Jerarquía de excepciones Checked y unchecked exceptions Creando tu propia clase de excepción Assertions Sintaxis de assertions Ejemplo
  • 5. 5 Qué es una excepción Evento excepcional, normalmente ocurren durante tiempo de ejecución Causa normal del flujo del programa, aspectos no controlados (mala programación? NO) Ejemplos: Dividir por cero Acceder los elementos del array fuera de rango Input inválido Disco duro, error Intentar abrir fichero no existente Falta de memoria
  • 6. 6 Contenidos de este tema Excepciones Qué es la excepción Qué ocurre tras una excepción Beneficios de la captura de excepciones Práctico Capturando con try/catch Múltiple catch Finally Lanzando excepciones y reglas Jerarquía de excepciones Lanzando excepciones Jerarquía de excepciones Checked y unchecked exceptions Creando tu propia clase de excepción Assertions Sintaxis de assertions Ejemplo
  • 7. 7 Qué ocurre tras una excepción Cuando una excepción ocurre dentro de un método, el método crea un objeto Exception y lo lleva a la ejecución del sistema Crear un objeto Exception y enviarla a la ejecución del sistema se llama “lanzar una excepción (throwing an exception)” El objeto de excepción contiene información sobre el error, incluyendo su tipo y el estado del programa cuando el error ocurre
  • 8. 8 Qué ocurre tras una excepción El sistema en ejecución busca en la pila hasta encontrar un método que tenga un capturador de excepciones
  • 9. 9 Qué ocurre tras una excepción Cuando un capturador de excepciones es encontrado, el programa pasa la excepción al capturador Un capturador de excepciones es considerado apropiado si el tipo del objeto Exception coincide con el tipo a ser capturado El capturador es elegido específicamente para capturar la excepción Si la ejecución del sistma busca exhaustivamente todos los métodos en la pila sin encontrar un capturador apropiado, el sistema (y, claro está, el programa) termina y usa el capturador por defecto
  • 10. 10 Contenidos de este tema Excepciones Qué es la excepción Qué ocurre tras una excepción Beneficios de la captura de excepciones Práctico Capturando con try/catch Múltiple catch Finally Lanzando excepciones y reglas Jerarquía de excepciones Lanzando excepciones Jerarquía de excepciones Checked y unchecked exceptions Creando tu propia clase de excepción Assertions Sintaxis de assertions Ejemplo
  • 11. 11 Beneficios de la captura de excepciones Separando la caputura de excepciones del resto del código de la lógica normal: Propagación de errores hacia arriba en la pila Agrupación y diferenciación de tipos de error
  • 12. 12 Contenidos de este tema Excepciones Qué es la excepción Qué ocurre tras una excepción Beneficios de la captura de excepciones Práctico Capturando con try/catch Múltiple catch Finally Lanzando excepciones y reglas Jerarquía de excepciones Lanzando excepciones Jerarquía de excepciones Checked y unchecked exceptions Creando tu propia clase de excepción Assertions Sintaxis de assertions Ejemplo
  • 14. 14 Contenidos de este tema Excepciones Qué es la excepción Qué ocurre tras una excepción Beneficios de la captura de excepciones Práctico Capturando con try/catch Múltiple catch Finally Lanzando excepciones y reglas Jerarquía de excepciones Lanzando excepciones Jerarquía de excepciones Checked y unchecked exceptions Creando tu propia clase de excepción Assertions Sintaxis de assertions Ejemplo
  • 15. 15 Capturando con try/catch Sintaxis: try { <code to be monitored for exceptions> } catch (<ExceptionType1> <ObjName>) { <handler if ExceptionType1 occurs> } ... } catch (<ExceptionTypeN> <ObjName>) { <handler if ExceptionTypeN occurs> }
  • 16. 16 Capturando con try/catch Ejemplo: class DivByZero { public static void main(String args[]) { try { System.out.println(3/0); System.out.println(“Please print me.”); } catch (ArithmeticException exc) { //Division by zero is an ArithmeticException System.out.println(exc); } System.out.println(“After exception.”); } }
  • 17. 17 Contenidos de este tema Excepciones Qué es la excepción Qué ocurre tras una excepción Beneficios de la captura de excepciones Práctico Capturando con try/catch Múltiple catch Finally Lanzando excepciones y reglas Jerarquía de excepciones Lanzando excepciones Jerarquía de excepciones Checked y unchecked exceptions Creando tu propia clase de excepción Assertions Sintaxis de assertions Ejemplo
  • 18. 18 Múltiple catch Ejemplo: class MultipleCatch { public static void main(String args[]) { try { int den = Integer.parseInt(args[0]); System.out.println(3/den); } catch (ArithmeticException exc) { System.out.println(“Divisor was 0.”); } catch (ArrayIndexOutOfBoundsException exc2) { System.out.println(“Missing argument.”); } System.out.println(“After exception.”); } }
  • 19. 19 Contenidos de este tema Excepciones Qué es la excepción Qué ocurre tras una excepción Beneficios de la captura de excepciones Práctico Capturando con try/catch Múltiple catch Finally Lanzando excepciones y reglas Jerarquía de excepciones Lanzando excepciones Jerarquía de excepciones Checked y unchecked exceptions Creando tu propia clase de excepción Assertions Sintaxis de assertions Ejemplo
  • 20. 20 Finally Bloque de código que es ejecutado SIEMPRE, sin importar el escenario presentado: Exit forzado ocurre cuando usamos return, continue o break Finalización normal Excepción lanzada y capturada Excepción fue lanzada y capturada en el método Excepción lanzada y no capturada Excepción lanzada pero no fue especificada en ningún bloque catch en el método
  • 21. 21 Finally Contiene el código para finalizar lo hecho en try/catch ocurra lo que ocurra en éstos Sintaxis: try { <code to be monitored for exceptions> } catch (<ExceptionType1> <ObjName>) { <handler if ExceptionType1 occurs> } ... } finally { <code to be executed before the try block ends> }
  • 22. 22 Contenidos de este tema Excepciones Qué es la excepción Qué ocurre tras una excepción Beneficios de la captura de excepciones Práctico Capturando con try/catch Múltiple catch Finally Lanzando excepciones y reglas Jerarquía de excepciones Lanzando excepciones Jerarquía de excepciones Checked y unchecked exceptions Creando tu propia clase de excepción Assertions Sintaxis de assertions Ejemplo
  • 23. 23 Lanzando excepciones Java te permite lanzar excepciones (generar excepciones) throw <exception object>; Una excepción que lanzas es un objecto Tienes que crear un objecto de excepción en el mismo modo que creas cualquier objeto Ejemplo: throw new ArithmeticException(“testing...”);
  • 24. 24 Lanzando excepciones class ThrowDemo { public static void main(String args[]){ String input = “invalid input”; try { if (input.equals(“invalid input”)) { throw new RuntimeException("throw demo"); } else { System.out.println(input); } System.out.println("After throwing"); } catch (RuntimeException e) { System.out.println("Exception caught:" + e); } } }
  • 25. 25 Lanzando excepciones - reglas Un método es requerido para capturar o listar excepciones susceptibles de ser lanzadas Excepto para Error, RuntimeException o sus subclases Si un método puede causar una excepción pero no la trata, la puede devolver hacia arriba mediante la palabra reservada throws keyword. Sólo aplicable a excepciones checadas Sintaxis: <type> <methodName> (<parameterList>) throws <exceptionList> { <methodBody> }
  • 26. 26 Contenidos de este tema Excepciones Qué es la excepción Qué ocurre tras una excepción Beneficios de la captura de excepciones Práctico Capturando con try/catch Múltiple catch Finally Lanzando excepciones y reglas Jerarquía de excepciones Lanzando excepciones Jerarquía de excepciones Checked y unchecked exceptions Creando tu propia clase de excepción Assertions Sintaxis de assertions Ejemplo
  • 27. 27 Jerarquía de excepciones Throwable class Raíz de las clases de excepciones Subclases inmediatas: Error Usado por java runtime para capturar errores. Generalmente fuera del control del usuario del programa. Ejemplos: Out of memory Hard disk crash Exception Las condiciones con las que el usuario ha de lidiar normalmente. El resultado suele ser alguna notificación de error al usuario en el propio programa Ejemplos: División por cero Array fuera de rango
  • 28. 28 Contenidos de este tema Excepciones Qué es la excepción Qué ocurre tras una excepción Beneficios de la captura de excepciones Práctico Capturando con try/catch Múltiple catch Finally Lanzando excepciones y reglas Jerarquía de excepciones Lanzando excepciones Jerarquía de excepciones Checked y unchecked exceptions Creando tu propia clase de excepción Assertions Sintaxis de assertions Ejemplo
  • 29. 29 Lanzando excepciones Varios catches deben ser ordenados desde las subclases hacia la superclase class MultipleCatchError { public static void main(String args[]){ try { int a = Integer.parseInt(args [0]); int b = Integer.parseInt(args [1]); System.out.println(a/b); } catch (ArrayIndexOutOfBoundsException e) { } catch (Exception ex) { } } }
  • 30. 30 Contenidos de este tema Excepciones Qué es la excepción Qué ocurre tras una excepción Beneficios de la captura de excepciones Práctico Capturando con try/catch Múltiple catch Finally Lanzando excepciones y reglas Jerarquía de excepciones Lanzando excepciones Jerarquía de excepciones Checked y unchecked exceptions Creando tu propia clase de excepción Assertions Sintaxis de assertions Ejemplo
  • 31. 31 Jerarquía de excepciones Throwable class Raíz de las clases de excepciones Subclases inmediatas: Error Usado por java runtime para capturar errores. Generalmente fuera del control del usuario del programa. Ejemplos: Out of memory Hard disk crash Exception Las condiciones con las que el usuario ha de lidiar normalmente. El resultado suele ser alguna notificación de error al usuario en el propio programa Ejemplos: División por cero Array fuera de rango
  • 32. 32 Contenidos de este tema Excepciones Qué es la excepción Qué ocurre tras una excepción Beneficios de la captura de excepciones Práctico Capturando con try/catch Múltiple catch Finally Lanzando excepciones y reglas Jerarquía de excepciones Lanzando excepciones Jerarquía de excepciones Checked y unchecked exceptions Creando tu propia clase de excepción Assertions Sintaxis de assertions Ejemplo
  • 33. 33 Checked and unchecked exceptions Checked exception El compilador java comprueba si el programa cachea o lista las ocurrencias de excepciones Si no se capturan, hay error de compilación Unchecked exception No sujeto a chequeos en tiempo de compilación Error RuntimeException Sus subclases: Capturando todas esas excepciones podemos excedernos de los requerimientos reales del sistema, cuidado!
  • 34. 34 Contenidos de este tema Excepciones Qué es la excepción Qué ocurre tras una excepción Beneficios de la captura de excepciones Práctico Capturando con try/catch Múltiple catch Finally Lanzando excepciones y reglas Jerarquía de excepciones Lanzando excepciones Jerarquía de excepciones Checked y unchecked exceptions Creando tu propia clase de excepción Assertions Sintaxis de assertions Ejemplo
  • 35. 35 Creando tu propia clase de excepción Pasos a seguir: Crear una clase que extienda de RuntimeException o de Exception Personalizar la clase: Miembros y constructores deben ser añadidos a la clase Ejemplo: class HateStringExp extends RuntimeException { /* some code */ }
  • 36. 36 Creando tu propia clase de excepción class TestHateString { public static void main(String args[]) { String input = "invalid input"; try { if (input.equals("invalid input")) { throw new HateStringExp(); } System.out.println("Accept string."); } catch (HateStringExp e) { System.out.println("Hate string!”); } } }
  • 37. 37 Contenidos de este tema Excepciones Qué es la excepción Qué ocurre tras una excepción Beneficios de la captura de excepciones Práctico Capturando con try/catch Múltiple catch Finally Lanzando excepciones y reglas Jerarquía de excepciones Lanzando excepciones Jerarquía de excepciones Checked y unchecked exceptions Creando tu propia clase de excepción Assertions Sintaxis de assertions Ejemplo
  • 38. 38 Assertions Permiten al programador controlar si los objetivos del programa son alcanzados Informa a la persona responsible del código de que una condición particular debe ser siempre satisfecha La ejecución del programa informa de si la aserción es verdadero o falso Si la aserción es NO verdadera, se lanza una excepción AssertionError. El usuario tiene la opción de desactivar o activar la aserción al ejecutar la aplicación
  • 39. 39 Assertions – activación/desactivación Un programa con assertions es posible que no trabaje correctamente si es usado por clientes que no están al tanto de las aserciones usadas en el código Compilando Con capacidad de assertion: javac –source 1.4 MyProgram.java Sin la capacidad de assertion: javac MyProgram.java Activando assertions: Usar el enableassertions o el ea switch java –enableassertions MyProgram
  • 40. 40 Contenidos de este tema Excepciones Qué es la excepción Qué ocurre tras una excepción Beneficios de la captura de excepciones Práctico Capturando con try/catch Múltiple catch Finally Lanzando excepciones y reglas Jerarquía de excepciones Lanzando excepciones Jerarquía de excepciones Checked y unchecked exceptions Creando tu propia clase de excepción Assertions Sintaxis de assertions Ejemplo
  • 41. 41 Sintaxis de assertion Dos formas: Forma simple: assert <expression1>; donde <expression1> is the condition asserted to be true Otra forma: assert <expression1> : <expression2>; donde <expression1> is the condition asserted to be true <expression2> is some information helpful in diagnosing why the statement failed
  • 42. 42 Contenidos de este tema Excepciones Qué es la excepción Qué ocurre tras una excepción Beneficios de la captura de excepciones Práctico Capturando con try/catch Múltiple catch Finally Lanzando excepciones y reglas Jerarquía de excepciones Lanzando excepciones Jerarquía de excepciones Checked y unchecked exceptions Creando tu propia clase de excepción Assertions Sintaxis de assertions Ejemplo
  • 43. 43 Ejemplo class AgeAssert { public static void main(String args[]) { int age = Integer.parseInt(args[0]); assert(age>0); /* if age is valid (i.e., age>0) */ if (age >= 18) { System.out.println(“You're an adult! =)”); } } }
  • 44. Es importante que recordeis… “Si haces todos los días lo mismo no llegarás más lejos de lo que otras veces has llegado” Adelante!!! Jesús Muñoz jesus@iluego.com