
05/01/2016, 16:42
|
 | Colaborador | | Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 4 meses Puntos: 454 | |
Respuesta: ¿Por qué este código necesita lanzar una excepción? Hola:
Cualquier código no puede lanzar una excepción, hay operaciones que no fallan. Por ejemplo, si sumas dos variables enteras, eso no puede lanzar nunca una excepción. Si llamas a un método, ese método puede o no lanzar excepciones, según lo que haga por dentro, pero sólo si declara que las lanza (el throws en la declaración del método), es cuando estás obligado a capturarla o relanzarla. En tu caso y como comentaba Xerelo, el método Runtime.exec() dice que puede lanzar varios tipos de excepciones, por eso tienes que capturarlas o relanzarlas.
En cuanto a tratar tu la excepción o no, si no la capturas y tratas, desde luego el programa fallará. Pero si tú la tratas, aparte de dejar un mensaje más claro, en ocasiones es posible intentar recuperar el programa. Por ejemplo, si una conexión a una base de datos falla, puedes capturar la excepción para que haga una pequeña espera y vuelva a intentar conectarse. Si la desconexión era por algo temporal (por ejemplo, la base de datos se está reiniciando), el capturar la excepción para intentar reconectar puede ser útil.
Se bueno. |