Considere el programa Java TestMenu.java
, en el se crea una barra de menú (Menu)
con las opciones que permiten realizar una operación aritmética
sobre dos números y cerrar la ventana. Los dos operandos y el resultado
se representa mediante campos de texto (TextField).
Además, se proporcionan botones (Button)
que realizan las mismas operaciones que las opciones del menú.
Cuando se esta ejecutando un programa Java gráfico, si las excepciones
no se atrapan, el mensaje de error se muestra en la consola, pero el programa
se sigue ejecutando.
Por ejemplo, el siguiente programa java muestra en la consola lo siguiente
cuando se introduce un 1 y un 0 y se pulsa el botón dividir:
java.lang.ArithmeticException
at MenuTest.calculate(MenuTest.java:136)
at MenuTest.actionPerformed(MenuTest.java:101)
at java.awt.Button.processActionEvent(Button.java:230)
at java.awt.Component.processEvent(Component.java:997)
at java.awt.ActionEvt.dispatch(ActionEvt.java:16)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:39)
Si se pulsa alguno de los botones de operaciones aritméticas sin introducir previamente los operandos, las excepciones que se lanzan son las siguientes:
java.lang.NumberFormatException
at java.lang.Throwable.<init>(Throwable.java:34)
at java.lang.Exception.<init>(Exception.java:17)
at java.lang.RuntimeException.<init>(RuntimeException.java:17)
at java.lang.IllegalArgumentException.<init>(IllegalArgumentException.java:17)
at java.lang.NumberFormatException.<init>(NumberFormatException.java:17)
at java.lang.Integer.parseInt(Integer.java:122)
at java.lang.Integer.parseInt(Integer.java:116)
at MenuTest.calculate(MenuTest.java:123)
at MenuTest.actionPerformed(MenuTest.java:95)
at java.awt.Button.processActionEvent(Button.java:230)
at java.awt.Component.processEvent(Component.java:997)
at java.awt.ActionEvt.dispatch(ActionEvt.java:16)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:39)
Modifique método calculate() del programa MenuTest
con un bloque try-catch para atrapar las excepciones que se
presentan.
El programa debe mostrar una ventana de diálogo en la que se
indique que se trata de un Error y el mensaje asociado a la excepción
lanzada.