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

Lecciones 07 Esc. Sabática. Motivados por la esperanza
Lecciones 07 Esc. Sabática. Motivados por la esperanzaLecciones 07 Esc. Sabática. Motivados por la esperanza
Lecciones 07 Esc. Sabática. Motivados por la esperanzaAlejandrino Halire Ccahuana
 
EVALUACION del tercer trimestre 2024 nap.docx
EVALUACION  del tercer trimestre 2024 nap.docxEVALUACION  del tercer trimestre 2024 nap.docx
EVALUACION del tercer trimestre 2024 nap.docxuniversidad Indoamerica
 
Vínculo afectivo (labor expositivo de grupo )
Vínculo afectivo (labor expositivo de grupo )Vínculo afectivo (labor expositivo de grupo )
Vínculo afectivo (labor expositivo de grupo )portafoliodigitalyos
 
SISTEMA RESPIRATORIO DEL CUERPO HUMANO triptico.docx
SISTEMA RESPIRATORIO DEL CUERPO HUMANO triptico.docxSISTEMA RESPIRATORIO DEL CUERPO HUMANO triptico.docx
SISTEMA RESPIRATORIO DEL CUERPO HUMANO triptico.docxgesicavillanuevaqf
 
DESCRIPCIÓN-LOS-DILEMAS-DEL-CONOCIMIENTO.pptx
DESCRIPCIÓN-LOS-DILEMAS-DEL-CONOCIMIENTO.pptxDESCRIPCIÓN-LOS-DILEMAS-DEL-CONOCIMIENTO.pptx
DESCRIPCIÓN-LOS-DILEMAS-DEL-CONOCIMIENTO.pptxMARCOSMARTINALACAYOP1
 
tema 6 2eso 2024. Ciencias Sociales. El final de la Edad Media en la Penínsul...
tema 6 2eso 2024. Ciencias Sociales. El final de la Edad Media en la Penínsul...tema 6 2eso 2024. Ciencias Sociales. El final de la Edad Media en la Penínsul...
tema 6 2eso 2024. Ciencias Sociales. El final de la Edad Media en la Penínsul...Chema R.
 
Época colonial: vestimenta, costumbres y juegos de la época
Época colonial: vestimenta, costumbres y juegos de la épocaÉpoca colonial: vestimenta, costumbres y juegos de la época
Época colonial: vestimenta, costumbres y juegos de la épocacecifranco1981
 
Tipologías de vínculos afectivos (grupo)
Tipologías de vínculos afectivos (grupo)Tipologías de vínculos afectivos (grupo)
Tipologías de vínculos afectivos (grupo)portafoliodigitalyos
 
4ª SESION la misión santificadora del Espíritu Santo en la vida de la Iglesi...
4ª SESION  la misión santificadora del Espíritu Santo en la vida de la Iglesi...4ª SESION  la misión santificadora del Espíritu Santo en la vida de la Iglesi...
4ª SESION la misión santificadora del Espíritu Santo en la vida de la Iglesi...Reneeavia
 
Hidrocarburos cíclicos, EJERCICIOS, TEORIA Y MÁS.pptx
Hidrocarburos cíclicos, EJERCICIOS, TEORIA Y MÁS.pptxHidrocarburos cíclicos, EJERCICIOS, TEORIA Y MÁS.pptx
Hidrocarburos cíclicos, EJERCICIOS, TEORIA Y MÁS.pptxNathaly122089
 
PLAN DE GESTION DEL RIESGO 2023 - 2024.docx
PLAN DE GESTION DEL RIESGO  2023 - 2024.docxPLAN DE GESTION DEL RIESGO  2023 - 2024.docx
PLAN DE GESTION DEL RIESGO 2023 - 2024.docxpily R.T.
 
Pasos para enviar una tarea en SIANET - sólo estudiantes.pdf
Pasos para enviar una tarea en SIANET - sólo estudiantes.pdfPasos para enviar una tarea en SIANET - sólo estudiantes.pdf
Pasos para enviar una tarea en SIANET - sólo estudiantes.pdfNELLYKATTY
 
PATRONES DE REFERENCIA, CRITERIOS Y DIAGNOSTICO Angeles.pptx
PATRONES DE REFERENCIA, CRITERIOS Y DIAGNOSTICO Angeles.pptxPATRONES DE REFERENCIA, CRITERIOS Y DIAGNOSTICO Angeles.pptx
PATRONES DE REFERENCIA, CRITERIOS Y DIAGNOSTICO Angeles.pptxSusanaAlejandraMende
 
Seguridad y virus informáticos 12°B 2024
Seguridad y virus informáticos 12°B 2024Seguridad y virus informáticos 12°B 2024
Seguridad y virus informáticos 12°B 2024sergeycrastz06
 
Comunidades Virtuales de Aprendizaje Caracteristicas.pptx
Comunidades Virtuales de Aprendizaje Caracteristicas.pptxComunidades Virtuales de Aprendizaje Caracteristicas.pptx
Comunidades Virtuales de Aprendizaje Caracteristicas.pptxJunkotantik
 
LA GEOMETRÍA Y LOS SISTEMAS ANGULARES, APRENDER LEYENDO LA BIBLIA
LA GEOMETRÍA Y LOS SISTEMAS ANGULARES, APRENDER LEYENDO LA BIBLIALA GEOMETRÍA Y LOS SISTEMAS ANGULARES, APRENDER LEYENDO LA BIBLIA
LA GEOMETRÍA Y LOS SISTEMAS ANGULARES, APRENDER LEYENDO LA BIBLIASandra Mariela Ballón Aguedo
 
ciclos biogeoquimicas y flujo de materia ecosistemas
ciclos biogeoquimicas y flujo de materia ecosistemasciclos biogeoquimicas y flujo de materia ecosistemas
ciclos biogeoquimicas y flujo de materia ecosistemasFlor Idalia Espinoza Ortega
 

Último (20)

Lecciones 07 Esc. Sabática. Motivados por la esperanza
Lecciones 07 Esc. Sabática. Motivados por la esperanzaLecciones 07 Esc. Sabática. Motivados por la esperanza
Lecciones 07 Esc. Sabática. Motivados por la esperanza
 
EVALUACION del tercer trimestre 2024 nap.docx
EVALUACION  del tercer trimestre 2024 nap.docxEVALUACION  del tercer trimestre 2024 nap.docx
EVALUACION del tercer trimestre 2024 nap.docx
 
Vínculo afectivo (labor expositivo de grupo )
Vínculo afectivo (labor expositivo de grupo )Vínculo afectivo (labor expositivo de grupo )
Vínculo afectivo (labor expositivo de grupo )
 
SISTEMA RESPIRATORIO DEL CUERPO HUMANO triptico.docx
SISTEMA RESPIRATORIO DEL CUERPO HUMANO triptico.docxSISTEMA RESPIRATORIO DEL CUERPO HUMANO triptico.docx
SISTEMA RESPIRATORIO DEL CUERPO HUMANO triptico.docx
 
DESCRIPCIÓN-LOS-DILEMAS-DEL-CONOCIMIENTO.pptx
DESCRIPCIÓN-LOS-DILEMAS-DEL-CONOCIMIENTO.pptxDESCRIPCIÓN-LOS-DILEMAS-DEL-CONOCIMIENTO.pptx
DESCRIPCIÓN-LOS-DILEMAS-DEL-CONOCIMIENTO.pptx
 
tema 6 2eso 2024. Ciencias Sociales. El final de la Edad Media en la Penínsul...
tema 6 2eso 2024. Ciencias Sociales. El final de la Edad Media en la Penínsul...tema 6 2eso 2024. Ciencias Sociales. El final de la Edad Media en la Penínsul...
tema 6 2eso 2024. Ciencias Sociales. El final de la Edad Media en la Penínsul...
 
Época colonial: vestimenta, costumbres y juegos de la época
Época colonial: vestimenta, costumbres y juegos de la épocaÉpoca colonial: vestimenta, costumbres y juegos de la época
Época colonial: vestimenta, costumbres y juegos de la época
 
Tipologías de vínculos afectivos (grupo)
Tipologías de vínculos afectivos (grupo)Tipologías de vínculos afectivos (grupo)
Tipologías de vínculos afectivos (grupo)
 
4ª SESION la misión santificadora del Espíritu Santo en la vida de la Iglesi...
4ª SESION  la misión santificadora del Espíritu Santo en la vida de la Iglesi...4ª SESION  la misión santificadora del Espíritu Santo en la vida de la Iglesi...
4ª SESION la misión santificadora del Espíritu Santo en la vida de la Iglesi...
 
Hidrocarburos cíclicos, EJERCICIOS, TEORIA Y MÁS.pptx
Hidrocarburos cíclicos, EJERCICIOS, TEORIA Y MÁS.pptxHidrocarburos cíclicos, EJERCICIOS, TEORIA Y MÁS.pptx
Hidrocarburos cíclicos, EJERCICIOS, TEORIA Y MÁS.pptx
 
PLAN DE GESTION DEL RIESGO 2023 - 2024.docx
PLAN DE GESTION DEL RIESGO  2023 - 2024.docxPLAN DE GESTION DEL RIESGO  2023 - 2024.docx
PLAN DE GESTION DEL RIESGO 2023 - 2024.docx
 
Sesión de clase Motivados por la esperanza.pdf
Sesión de clase Motivados por la esperanza.pdfSesión de clase Motivados por la esperanza.pdf
Sesión de clase Motivados por la esperanza.pdf
 
Pasos para enviar una tarea en SIANET - sólo estudiantes.pdf
Pasos para enviar una tarea en SIANET - sólo estudiantes.pdfPasos para enviar una tarea en SIANET - sólo estudiantes.pdf
Pasos para enviar una tarea en SIANET - sólo estudiantes.pdf
 
PATRONES DE REFERENCIA, CRITERIOS Y DIAGNOSTICO Angeles.pptx
PATRONES DE REFERENCIA, CRITERIOS Y DIAGNOSTICO Angeles.pptxPATRONES DE REFERENCIA, CRITERIOS Y DIAGNOSTICO Angeles.pptx
PATRONES DE REFERENCIA, CRITERIOS Y DIAGNOSTICO Angeles.pptx
 
¿Que es Fuerza? online 2024 Repaso CRECE.pptx
¿Que es Fuerza? online 2024 Repaso CRECE.pptx¿Que es Fuerza? online 2024 Repaso CRECE.pptx
¿Que es Fuerza? online 2024 Repaso CRECE.pptx
 
Seguridad y virus informáticos 12°B 2024
Seguridad y virus informáticos 12°B 2024Seguridad y virus informáticos 12°B 2024
Seguridad y virus informáticos 12°B 2024
 
flujo de materia y energía ecosistemas.
flujo de materia y  energía ecosistemas.flujo de materia y  energía ecosistemas.
flujo de materia y energía ecosistemas.
 
Comunidades Virtuales de Aprendizaje Caracteristicas.pptx
Comunidades Virtuales de Aprendizaje Caracteristicas.pptxComunidades Virtuales de Aprendizaje Caracteristicas.pptx
Comunidades Virtuales de Aprendizaje Caracteristicas.pptx
 
LA GEOMETRÍA Y LOS SISTEMAS ANGULARES, APRENDER LEYENDO LA BIBLIA
LA GEOMETRÍA Y LOS SISTEMAS ANGULARES, APRENDER LEYENDO LA BIBLIALA GEOMETRÍA Y LOS SISTEMAS ANGULARES, APRENDER LEYENDO LA BIBLIA
LA GEOMETRÍA Y LOS SISTEMAS ANGULARES, APRENDER LEYENDO LA BIBLIA
 
ciclos biogeoquimicas y flujo de materia ecosistemas
ciclos biogeoquimicas y flujo de materia ecosistemasciclos biogeoquimicas y flujo de materia ecosistemas
ciclos biogeoquimicas y flujo de materia ecosistemas
 

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.