SlideShare una empresa de Scribd logo
1 de 4
Descargar para leer sin conexión
EXCEPCIONES PROPIAS
El lenguaje Java proporciona las clases que manejan casi cualquier tipo de excepción. Sin embargo, en
algunos casos se pueden presentar situaciones en la que producen excepciones que no están dentro del
lenguaje Java. En este tipo de caso se deben de programar excepciones propias.
En casos como: ingresar edades, estaturas o tamaños negativos, una aplicación puede fallar, por lo cual se
debería manejar las excepciones que le indiquen al programador que debe validar este error. Para crear una
excepción propia se debe programar una nueva clase que herede de Exception. En el siguiente código es un
ejemplo de cómo manejar la edad negativa con una excepción propia.
Lo primero que se debe hacer es programar la nueva excepción:
/**
* Excepción para manejar la edad negativa de una persona
* @author mac
* @version 1.0
*/
public class EdadNegativaException extends Exception {
/**
* Permite usar el constructor de la superclase con mensaje
* @param mensaje mensaje que se desea mostrar
*/
public EdadNegativaException(String mensaje) {
super(mensaje);
}
/**
* Permite manejar el constructor de la superclase que no usa parametros
*/
public EdadNegativaException() {
super();
}
}
Ahora se hace uso de la excepción:
/**
* Clase que muestra un ejemplo de cómo usar una excepción propia
* @author mac
* @version 1.0
*/
public class ManejoDeExcepcionesPropias {
public static void main(String[] args) {
int edad = 34;
Lenguaje de
programación
Técnica profesional en desarrollo de software
Profesor: Andrés Herrera R. Mail: jherrera@eam.edu.co
Laboratorio
Excepciones propias
Nombre:_________________________________________________________________________
2
String nombre= "Ana";
try {
System.out.println(crearPersona(edad, nombre).getEdad());
} catch (EdadNegativaException e) {
e.printStackTrace();
}
}
/**
* Se encarga de crear una nueva persona
* @param edad edad de la persona
* @param nombre nombre de la persona
* @return la nueva persona
* @throws EdadNegativaException error por agregar una edad negativa
*/
private static Persona crearPersona(int edad, String nombre) throws
EdadNegativaException {
if( edad < 0 ){
throw new EdadNegativaException("Error por agregar una edad negativa");
}
return new Persona(nombre, edad);
}
}
Como se puede ver en el código anterior, cuando se ingresa una edad negativa automáticamente se lanzar
una excepción (verificada) indicando que ha ocurrido un error, esto le advertirá a los programadores que
deben manejar el error ocurrido. Si desea lanzar una excepción no verificada se debería usar como
superclase a RuntimeException.
Asociar cada uno de los tipos de fallas graves en tiempo de ejecución con una clase Exception con
nombre apropiado ayuda a mejorar la claridad del programa.
Por convención, todos los nombres de las clases de excepciones deben terminar con la palabra
Exception.
De ser posible, se deben indicar las excepciones en los métodos mediante el uso de las clases de
excepciones existentes, en vez de crear nuevas. La API de Java contiene muchas clases de excepciones que
podrían ser adecuadas para el tipo de problema que el método necesite indicar.
Multi-catch
Es muy común que después de un bloque try haya varios bloques catch para manejar diversos tipos de
excepciones. Si los cuerpos de varios bloques catch son idénticos, el programador puede usar la nueva
característica multi-catch de Java SE7 para atrapar esos tipos de excepciones en un solo manejador catch y
realizar la misma tarea.
3
La sintaxis para el multi-catch es:
catch ( Ttpo1 | Ttpo2 | Ttpo3 e )
Cada tipo de excepción se separa de la siguiente con una barra vertical (|). La línea anterior de código indica
que es posible atrapar uno de los tipos especificados (o cualquier subclase de esos tipos) en el manejador de
excepciones. En una clausula multi-catch, se puede especificar cualquier cantidad de tipos Throwable.
Try con recursos
Por lo general, el código para liberar recursos debe colocarse en un bloque finally, para asegurar que se libere
un recurso sin importar que se hayan lanzado excepciones cuando se utilizó́ ese recurso en el bloque try
correspondiente. Hay una notación alternativa, la instrucción try con recursos (nueva en Java SE 7), que
simplifica la escritura de código en donde se obtienen uno o más recursos, se utilizan en un bloque try y se
liberan en el correspondiente bloque finally. Cada recurso debe ser un objeto de una clase que implemente a
la interfaz AutoCloseable; dicha clase tiene un método llamado close. La forma general de una instrucción try
con recursos es:
try ( NombreClase elObjeto = new NombreClaseO ) {
// aquí se usa elObjeto catch
}
catch ( Exception e ){
// atrapa las excepciones que ocurren al usar el recurso
}
Para asignar varios recursos en el paréntesis del bloque try, se debe agregar consecutivos separados por
punto y como (;).
PRACTICA
1- Cree un proyecto java y nómbrelo <<Manejo de Excepciones Propias>>.
2- Cree un paquete de nombre <<com.EAM.lenguaje.excepciones>>
3- Cree una clase de nombre <<ManejoDeExcepciones>> con el método main.
4- Cree una excepción de nombre <<RangoException>>. Programe un método que reciba como parámetro un numero entero.
Lance la excepción <<RangoException>> si el numero que entra como parámetros no esta entre el rango de 0 a 100.
Llame el método desde el main, use Scanner para obtener el dato de entrada.
5- Cree una excepción de nombre <<NombrePersonaException>>. Programe un método que reciba como parámetro una
cadena de texto, y lance la excepción <<NombrePersonaException>> si la cadena contiene un símbolo diferente a una
letra. Llame el método desde el main, use Scanner para obtener el dato de entrada.
6- Cree una excepción de nombre <<CorreoElectronicoException>>. Programe un método que reciba una cadena de texto
como parámetro, lance la excepción use esta excepción <<CorreoElectronicoException>> si la cadena no tiene el formato
de una correo electrónico. Llame el método desde el main, use Scanner para obtener el dato de entrada.
4
7- Programe en el método main una instrucción try que maneje las tres excepciones creadas en los puntos anteriores (debe
usar multi-catch).
8- Investigue y programe un ejemplo donde use un bloque try con recursos.
ENTREGABLE
Mostrar la Practica realizada en su totalidad.
BIBLIOGRAFÍA
Deitel, P. J. & Deitel, H. M. (2012). Como Programar en java. Novena edición. México: Prentice Hall.

Más contenido relacionado

La actualidad más candente (20)

excepciones en java
excepciones en javaexcepciones en java
excepciones en java
 
Las excepciones standar
Las excepciones standarLas excepciones standar
Las excepciones standar
 
Manejo De Excepciones
Manejo De ExcepcionesManejo De Excepciones
Manejo De Excepciones
 
unidad 5 excepciones propias
unidad 5 excepciones propiasunidad 5 excepciones propias
unidad 5 excepciones propias
 
05 java excepciones
05 java excepciones05 java excepciones
05 java excepciones
 
Guia demanejodeexcepcionesaserciones
Guia demanejodeexcepcionesasercionesGuia demanejodeexcepcionesaserciones
Guia demanejodeexcepcionesaserciones
 
Excepciones en java
Excepciones en javaExcepciones en java
Excepciones en java
 
Programación III (Java) - 04 Excepciones
Programación III (Java) - 04 ExcepcionesProgramación III (Java) - 04 Excepciones
Programación III (Java) - 04 Excepciones
 
Tipos de excepciones
Tipos de excepcionesTipos de excepciones
Tipos de excepciones
 
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
 
Resumen
ResumenResumen
Resumen
 
Introducción
IntroducciónIntroducción
Introducción
 
Constructores & excepciones
Constructores & excepcionesConstructores & excepciones
Constructores & 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
 
Excepciones
ExcepcionesExcepciones
Excepciones
 
Portafolio
PortafolioPortafolio
Portafolio
 
Java exceptions
Java exceptionsJava exceptions
Java exceptions
 
Excepciones en Java
Excepciones en JavaExcepciones en Java
Excepciones en Java
 
Semana 8 excepciones definidas por el usuario
Semana 8 excepciones definidas por el usuarioSemana 8 excepciones definidas por el usuario
Semana 8 excepciones definidas por el usuario
 
Lenguaje java5 (presentación2)
Lenguaje java5 (presentación2)Lenguaje java5 (presentación2)
Lenguaje java5 (presentación2)
 

Similar a Lab excepciones propias

Tema 4 excepciones por gio
Tema 4   excepciones por gioTema 4   excepciones por gio
Tema 4 excepciones por gioRobert Wolf
 
1 1 5 Objetos Excepcion
1 1 5 Objetos Excepcion1 1 5 Objetos Excepcion
1 1 5 Objetos ExcepcionUVM
 
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 2 de 7(Flujos, Excepciones y ...
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 2 de 7(Flujos, Excepciones y ...OCP, JSE 6 Programmer (1Z0-851) - Guia practica 2 de 7(Flujos, Excepciones y ...
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 2 de 7(Flujos, Excepciones y ...Oscar V
 
Java exceptions
Java exceptionsJava exceptions
Java exceptionsDeli_amor
 
excepciones en java
excepciones en javaexcepciones en java
excepciones en javasandropaul
 
Uso de Excepciones en JAVA
Uso de Excepciones en JAVAUso de Excepciones en JAVA
Uso de Excepciones en JAVAinnovalabcun
 
Excepciones
ExcepcionesExcepciones
Excepcionesale8819
 
JAVA: TRY-CATCH-FINALLY y Uso de ficheros de texto para guardar información
JAVA: TRY-CATCH-FINALLY y Uso de ficheros de texto para   guardar informaciónJAVA: TRY-CATCH-FINALLY y Uso de ficheros de texto para   guardar información
JAVA: TRY-CATCH-FINALLY y Uso de ficheros de texto para guardar informaciónUniversidad Santo Tomás
 
Excepciones
ExcepcionesExcepciones
Excepcionesrilara
 
Manejo de excepciones en vb
Manejo de excepciones en vbManejo de excepciones en vb
Manejo de excepciones en vbgerardd98
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02Krizztiina Pacheko
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje javaMargarita Romero
 

Similar a Lab excepciones propias (20)

Tema 4 excepciones por gio
Tema 4   excepciones por gioTema 4   excepciones por gio
Tema 4 excepciones por gio
 
1 1 5 Objetos Excepcion
1 1 5 Objetos Excepcion1 1 5 Objetos Excepcion
1 1 5 Objetos Excepcion
 
Calse 3 JAVA 2012
Calse 3 JAVA 2012Calse 3 JAVA 2012
Calse 3 JAVA 2012
 
Gestión de Excepciones
Gestión de ExcepcionesGestión de Excepciones
Gestión de Excepciones
 
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 2 de 7(Flujos, Excepciones y ...
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 2 de 7(Flujos, Excepciones y ...OCP, JSE 6 Programmer (1Z0-851) - Guia practica 2 de 7(Flujos, Excepciones y ...
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 2 de 7(Flujos, Excepciones y ...
 
Resumen claudia u5
Resumen claudia u5Resumen claudia u5
Resumen claudia u5
 
Java exceptions
Java exceptionsJava exceptions
Java exceptions
 
excepciones en java
excepciones en javaexcepciones en java
excepciones en java
 
Java5
Java5Java5
Java5
 
Excepciones
ExcepcionesExcepciones
Excepciones
 
Uso de Excepciones en JAVA
Uso de Excepciones en JAVAUso de Excepciones en JAVA
Uso de Excepciones en JAVA
 
Excepciones
ExcepcionesExcepciones
Excepciones
 
JAVA: TRY-CATCH-FINALLY y Uso de ficheros de texto para guardar información
JAVA: TRY-CATCH-FINALLY y Uso de ficheros de texto para   guardar informaciónJAVA: TRY-CATCH-FINALLY y Uso de ficheros de texto para   guardar información
JAVA: TRY-CATCH-FINALLY y Uso de ficheros de texto para guardar información
 
Excepciones
ExcepcionesExcepciones
Excepciones
 
Errores
ErroresErrores
Errores
 
Manejo de excepciones en vb
Manejo de excepciones en vbManejo de excepciones en vb
Manejo de excepciones en vb
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02
 
INTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVAINTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVA
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje java
 
6 excepciones
6 excepciones6 excepciones
6 excepciones
 

Más de Andres Herrera Rodriguez (16)

Lab archivos
Lab archivosLab archivos
Lab archivos
 
Laboratorio clase abstract
Laboratorio clase abstractLaboratorio clase abstract
Laboratorio clase abstract
 
3. unidad 4 polimorfismo
3. unidad 4 polimorfismo3. unidad 4 polimorfismo
3. unidad 4 polimorfismo
 
Laboratorio interfaces
Laboratorio interfacesLaboratorio interfaces
Laboratorio interfaces
 
Laboratorio de polimorfismo
Laboratorio de  polimorfismoLaboratorio de  polimorfismo
Laboratorio de polimorfismo
 
GuiaFTP
GuiaFTPGuiaFTP
GuiaFTP
 
Lab herencia
Lab herenciaLab herencia
Lab herencia
 
Guia mysql
Guia mysqlGuia mysql
Guia mysql
 
Lenguaje de programacion unidad 3 arreglos de objetos
Lenguaje de programacion unidad 3 arreglos de objetosLenguaje de programacion unidad 3 arreglos de objetos
Lenguaje de programacion unidad 3 arreglos de objetos
 
Lenguaje de programacion laboratorio arreglos
Lenguaje de programacion laboratorio arreglosLenguaje de programacion laboratorio arreglos
Lenguaje de programacion laboratorio arreglos
 
Formularios HTML
Formularios HTMLFormularios HTML
Formularios HTML
 
Botones HTML
Botones HTMLBotones HTML
Botones HTML
 
Lenguaje de programacion unidad 2 clases y objetos
Lenguaje de programacion unidad 2 clases y objetosLenguaje de programacion unidad 2 clases y objetos
Lenguaje de programacion unidad 2 clases y objetos
 
Lenguaje de programacion unidad 1 UML
Lenguaje de programacion unidad 1 UMLLenguaje de programacion unidad 1 UML
Lenguaje de programacion unidad 1 UML
 
programación WEB Unidad 1 html
programación WEB Unidad 1 htmlprogramación WEB Unidad 1 html
programación WEB Unidad 1 html
 
Lectura y ejemplos clases y objetos
Lectura y ejemplos clases y objetosLectura y ejemplos clases y objetos
Lectura y ejemplos clases y objetos
 

Último

Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Baker Publishing Company
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxMapyMerma1
 
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...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
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfCESARMALAGA4
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 

Último (20)

Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptx
 
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...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...
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 

Lab excepciones propias

  • 1. EXCEPCIONES PROPIAS El lenguaje Java proporciona las clases que manejan casi cualquier tipo de excepción. Sin embargo, en algunos casos se pueden presentar situaciones en la que producen excepciones que no están dentro del lenguaje Java. En este tipo de caso se deben de programar excepciones propias. En casos como: ingresar edades, estaturas o tamaños negativos, una aplicación puede fallar, por lo cual se debería manejar las excepciones que le indiquen al programador que debe validar este error. Para crear una excepción propia se debe programar una nueva clase que herede de Exception. En el siguiente código es un ejemplo de cómo manejar la edad negativa con una excepción propia. Lo primero que se debe hacer es programar la nueva excepción: /** * Excepción para manejar la edad negativa de una persona * @author mac * @version 1.0 */ public class EdadNegativaException extends Exception { /** * Permite usar el constructor de la superclase con mensaje * @param mensaje mensaje que se desea mostrar */ public EdadNegativaException(String mensaje) { super(mensaje); } /** * Permite manejar el constructor de la superclase que no usa parametros */ public EdadNegativaException() { super(); } } Ahora se hace uso de la excepción: /** * Clase que muestra un ejemplo de cómo usar una excepción propia * @author mac * @version 1.0 */ public class ManejoDeExcepcionesPropias { public static void main(String[] args) { int edad = 34; Lenguaje de programación Técnica profesional en desarrollo de software Profesor: Andrés Herrera R. Mail: jherrera@eam.edu.co Laboratorio Excepciones propias Nombre:_________________________________________________________________________
  • 2. 2 String nombre= "Ana"; try { System.out.println(crearPersona(edad, nombre).getEdad()); } catch (EdadNegativaException e) { e.printStackTrace(); } } /** * Se encarga de crear una nueva persona * @param edad edad de la persona * @param nombre nombre de la persona * @return la nueva persona * @throws EdadNegativaException error por agregar una edad negativa */ private static Persona crearPersona(int edad, String nombre) throws EdadNegativaException { if( edad < 0 ){ throw new EdadNegativaException("Error por agregar una edad negativa"); } return new Persona(nombre, edad); } } Como se puede ver en el código anterior, cuando se ingresa una edad negativa automáticamente se lanzar una excepción (verificada) indicando que ha ocurrido un error, esto le advertirá a los programadores que deben manejar el error ocurrido. Si desea lanzar una excepción no verificada se debería usar como superclase a RuntimeException. Asociar cada uno de los tipos de fallas graves en tiempo de ejecución con una clase Exception con nombre apropiado ayuda a mejorar la claridad del programa. Por convención, todos los nombres de las clases de excepciones deben terminar con la palabra Exception. De ser posible, se deben indicar las excepciones en los métodos mediante el uso de las clases de excepciones existentes, en vez de crear nuevas. La API de Java contiene muchas clases de excepciones que podrían ser adecuadas para el tipo de problema que el método necesite indicar. Multi-catch Es muy común que después de un bloque try haya varios bloques catch para manejar diversos tipos de excepciones. Si los cuerpos de varios bloques catch son idénticos, el programador puede usar la nueva característica multi-catch de Java SE7 para atrapar esos tipos de excepciones en un solo manejador catch y realizar la misma tarea.
  • 3. 3 La sintaxis para el multi-catch es: catch ( Ttpo1 | Ttpo2 | Ttpo3 e ) Cada tipo de excepción se separa de la siguiente con una barra vertical (|). La línea anterior de código indica que es posible atrapar uno de los tipos especificados (o cualquier subclase de esos tipos) en el manejador de excepciones. En una clausula multi-catch, se puede especificar cualquier cantidad de tipos Throwable. Try con recursos Por lo general, el código para liberar recursos debe colocarse en un bloque finally, para asegurar que se libere un recurso sin importar que se hayan lanzado excepciones cuando se utilizó́ ese recurso en el bloque try correspondiente. Hay una notación alternativa, la instrucción try con recursos (nueva en Java SE 7), que simplifica la escritura de código en donde se obtienen uno o más recursos, se utilizan en un bloque try y se liberan en el correspondiente bloque finally. Cada recurso debe ser un objeto de una clase que implemente a la interfaz AutoCloseable; dicha clase tiene un método llamado close. La forma general de una instrucción try con recursos es: try ( NombreClase elObjeto = new NombreClaseO ) { // aquí se usa elObjeto catch } catch ( Exception e ){ // atrapa las excepciones que ocurren al usar el recurso } Para asignar varios recursos en el paréntesis del bloque try, se debe agregar consecutivos separados por punto y como (;). PRACTICA 1- Cree un proyecto java y nómbrelo <<Manejo de Excepciones Propias>>. 2- Cree un paquete de nombre <<com.EAM.lenguaje.excepciones>> 3- Cree una clase de nombre <<ManejoDeExcepciones>> con el método main. 4- Cree una excepción de nombre <<RangoException>>. Programe un método que reciba como parámetro un numero entero. Lance la excepción <<RangoException>> si el numero que entra como parámetros no esta entre el rango de 0 a 100. Llame el método desde el main, use Scanner para obtener el dato de entrada. 5- Cree una excepción de nombre <<NombrePersonaException>>. Programe un método que reciba como parámetro una cadena de texto, y lance la excepción <<NombrePersonaException>> si la cadena contiene un símbolo diferente a una letra. Llame el método desde el main, use Scanner para obtener el dato de entrada. 6- Cree una excepción de nombre <<CorreoElectronicoException>>. Programe un método que reciba una cadena de texto como parámetro, lance la excepción use esta excepción <<CorreoElectronicoException>> si la cadena no tiene el formato de una correo electrónico. Llame el método desde el main, use Scanner para obtener el dato de entrada.
  • 4. 4 7- Programe en el método main una instrucción try que maneje las tres excepciones creadas en los puntos anteriores (debe usar multi-catch). 8- Investigue y programe un ejemplo donde use un bloque try con recursos. ENTREGABLE Mostrar la Practica realizada en su totalidad. BIBLIOGRAFÍA Deitel, P. J. & Deitel, H. M. (2012). Como Programar en java. Novena edición. México: Prentice Hall.