0% encontró este documento útil (0 votos)
149 vistas3 páginas

Manejo de Excepciones en Constructores Java

El documento trata sobre el manejo de excepciones en Java. Explica que las excepciones son efectivas para predecir y tratar fallas que pueden ocurrir, especialmente en constructores. También demuestra que el orden de los bloques catch es importante, ya que una subclase debe atraparse antes que su superclase. Finalmente, muestra que las excepciones pueden pasarse a alcances externos para ser manejadas allí en lugar de dentro del bloque try.

Cargado por

Juan Pablo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
149 vistas3 páginas

Manejo de Excepciones en Constructores Java

El documento trata sobre el manejo de excepciones en Java. Explica que las excepciones son efectivas para predecir y tratar fallas que pueden ocurrir, especialmente en constructores. También demuestra que el orden de los bloques catch es importante, ya que una subclase debe atraparse antes que su superclase. Finalmente, muestra que las excepciones pueden pasarse a alcances externos para ser manejadas allí en lugar de dentro del bloque try.

Cargado por

Juan Pablo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Ejercicios

(Excepciones y falla de los constructores)Hasta este capítulo, hemos visto que tratar con
los errores detectados por los constructores es algo difícil. Explique por qué el manejo de
excepciones es un medio efectivo para tratar con las fallas en los constructores.

Las excepciones son métodos efectivos para detectar fallos que probablemente ocurran en
los programas que se van a ejecutar, las fallas en los constructores se pueden predecir con
estos llamados métodos. Si se asumen los posibles errores que tenga el programa antes de
crear un objeto el constructor imposibilitara la acción de crear el nuevo objeto. Por ende la
excepción funciona como una especie de barrera para que el programa deje de ejecutarse
abruptamente en este caso.

(Orden de los bloques catch) Escriba un programa que demuestre que el orden de los
bloques catch es importante. Si trata de atrapar un tipo de excepción de superclase antes de
un tipo de subclase, el compilador debe generar errores.

import [Link];
public class PruebaTry {
public static void main(String[] args){
try {
Subclase ensayo = new Subclase (0,0,10,0);
[Link]();
[Link]();
[Link]();
}catch(InputMismatchException inputMismatchException){
[Link]("%nExcepcion: %s%n", inputMismatchException);
[Link]("Debe introducir enteros. %n%n");
}catch(ArithmeticException arithmeticException){
[Link]("%nExcepcion: %s%n", arithmeticException);
[Link]("Cero es un denominador invalido. %n%n");
}
}
}
import [Link];

public class Superclase {


Scanner entrada = new Scanner ([Link]);
int nombre;
int apellido;
public Superclase(int nombre,int apellido){
[Link] = nombre;
[Link] = apellido;
}
public void establecernombre(){
[Link] = [Link]();
}
public void establecerapellido(){
[Link] = [Link]();
}
}
public class Subclase extends Superclase{
int ingresos;
int personas;
public Subclase(int nombre,int apellido,int ingresos,int personas){
super(nombre,apellido);
[Link] = ingresos ;
[Link] = personas;
}
public int obteneringresosporpersona()
throws ArithmeticException{
return ingresos/personas;
}
}

(Atrapar excepciones mediante el uso de alcances exteriores) Escriba un programa que


muestre que un método con su propio bloque try no tiene que atrapar todos los posibles
errores que se generen dentro del try. Algunas excepciones pueden pasarse hacia otros
alcances, en donde se manejan.

import [Link];
import [Link];
public class PruebaTry {
public static void main(String[] args){
Scanner entrada = new Scanner ([Link]);
try {
Subclase ensayo = new Subclase (0,0,10,10);
[Link]();
[Link]();
[Link]();
int [] encuesta = new int[5];
for (int cuenta = 0 ; cuenta<=[Link] ; cuenta++){
encuesta[cuenta] = [Link]();
}
}catch(InputMismatchException inputMismatchException){
[Link]("%nExcepcion: %s%n", inputMismatchException);
[Link]("Debe introducir enteros. \n\n");
}catch(ArithmeticException arithmeticException){
[Link]("%nExcepcion: %s%n", arithmeticException);
[Link]("Cero es un denominador invalido. %n%n");
}
}
}

También podría gustarte