A veces, voy a terminar encima de tener que capturar una excepción, que yo sepa nunca puede pasar, como aquí¿Cómo se manejan las excepciones "imposibles" en Java?
URLDecoder.decode("some string", "UTF-8"); //No unknown encoding possible
o aquí:
public void methodWithURL(URL url){
URI uri = new URI(url); //No invalud URI syntax possible
}
¿cómo manejar esto? En general, registro un error gracioso con respecto a cómo han cambiado las leyes del universo, y luego lanzo un RuntimeException
. ¿Hay una mejor manera?
try/catch (XXXException _ex) {throw new AssertionError (_ex);} – bestsss
@bestsss También he oído hablar de AssertionError como alternativa a RuntimeException. ¿Es esa la manera general de hacer esto sobre RuntimeException, o simplemente una mejor forma de subclasificar este tipo de errores? ¡Gracias! (también, es posible que desee escribir en la sección de respuestas) – Miquel
El error no amplía Exception, por lo que omite el 'try/catch (Exception any) usado en exceso '. Cualquier cosa que atrape 'Throwable' tratará w /' Error' explícitamente. El código del cliente no detectará 'Error' sin razón alguna. La única excepción de inicio de sesión que * no ocurrirá * generalmente no es lo correcto. Y, no, no quiero probar una respuesta :) – bestsss