Objeto Exception
No es raro que un fragmento de código lance varias excepciones. Una forma de manejar esta situación es envolver todo en un try-catch que capture las excepciones y luego usar el objeto Exception para determinar qué ha ocurrido y mostrar información para depurar el problema.
Aquí vas a modificar de nuevo la aplicación SplitTheBill para catch una Exception genérica y usar los datos del objeto Exception para entender la causa del problema. Los objetos Exception contienen mucha información útil, incluido un rastro de los métodos que condujeron al error.
Este ejercicio forma parte del curso
Tipos de datos y excepciones en Java
Instrucciones del ejercicio
- En el bloque catch, captura cualquier
Exceptionusandocatch (Exception e). - Usa el objeto
Exceptiony su referencia (e) y el métodogetClass()en el bloquecatchpara mostrar el tipo (clase) de la excepción capturada. - Usa la referencia del objeto
Exception(e) y el métodogetMessage()para imprimir el mensaje de la excepción. - Imprime el "stack trace" en la salida usando la referencia del objeto
Exception(e) y el métodoprintStackTrace().
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
class SplitTheBill {
public static void main(String[] args) {
BigDecimal bill = new BigDecimal(125.50);
computeEachBill(bill, 5);
computeEachBill(bill, 0);
}
public static void computeEachBill(BigDecimal bill, int people) {
try {
BigDecimal numPeople = new BigDecimal(people);
BigDecimal individualBill = bill.divide(numPeople);
System.out.println("Bill for each person is: " + individualBill);
// Catch any exception
} catch (____ ____) {
System.out.println("You didn't provide a positive number of people to split the bill among.");
// Print the type (class) of exception
System.out.println("Type of exception: " + ____.____());
// Print the exception message
System.out.println(____.____());
// Print the stack trace
____.____();
}
}
}