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

Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxNataliaGonzalez619348
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfssuser50d1252
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfssuser50d1252
 
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdfPresentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdfSarayLuciaSnchezFigu
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsxJuanpm27
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...YobanaZevallosSantil1
 
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxEJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxFabianValenciaJabo
 
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOCUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOEveliaHernandez8
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Rosabel UA
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesRaquel Martín Contreras
 
Concurso José María Arguedas nacional.pptx
Concurso José María Arguedas nacional.pptxConcurso José María Arguedas nacional.pptx
Concurso José María Arguedas nacional.pptxkeithgiancarloroquef
 
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxPROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxEribertoPerezRamirez
 

Último (20)

La luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luzLa luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luz
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
 
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdfPresentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
 
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxEJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
 
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOCUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
recursos naturales america cuarto basico
recursos naturales america cuarto basicorecursos naturales america cuarto basico
recursos naturales america cuarto basico
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materiales
 
Concurso José María Arguedas nacional.pptx
Concurso José María Arguedas nacional.pptxConcurso José María Arguedas nacional.pptx
Concurso José María Arguedas nacional.pptx
 
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxPROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
 

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.