En Java, ¿hay alguna forma de obtener (capturar) todo en exceptions
lugar de capturar la excepción individualmente?
java
exception
file
exception-handling
Johanna
fuente
fuente
Respuestas:
Si lo desea, puede agregar cláusulas throws a sus métodos. Entonces no es necesario que detecte los métodos marcados de inmediato. De esa manera, puede atrapar el
exceptions
último (quizás al mismo tiempo que otrosexceptions
).El código se ve así:
Luego, más tarde puedes lidiar con el
exceptions
si no quieres lidiar con ellos en ese método.Para detectar todas las excepciones, puede que algún bloque de código arroje lo siguiente: (Esto también detectará
Exceptions
que escribió usted mismo)La razón por la que funciona es porque
Exception
es la clase base para todas las excepciones. Por lo tanto, cualquier excepción que pueda arrojarse es unaException
('E' mayúscula).Si desea manejar sus propias excepciones primero, simplemente agregue un
catch
bloque antes de la excepción genérica.fuente
Si bien estoy de acuerdo que no es un buen estilo detectar una excepción sin procesar, hay formas de manejar las excepciones que brindan un registro superior y la capacidad de manejar lo inesperado. Dado que se encuentra en un estado excepcional, probablemente esté más interesado en obtener buena información que en el tiempo de respuesta, por lo que la instancia de rendimiento no debería ser un gran éxito.
Sin embargo, esto no tiene en cuenta el hecho de que IO también puede generar errores. Los errores no son excepciones. Los errores están bajo una jerarquía de herencia diferente a las excepciones, aunque ambos comparten la clase base Throwable. Dado que IO puede lanzar errores, es posible que desee ir tan lejos como para atrapar Throwable
fuente
Captura la excepción base 'Exception'
fuente
Es una mala práctica detectar la excepción : es demasiado amplia y puede perder algo como una NullPointerException en su propio código.
Para la mayoría de las operaciones de archivos, IOException es la excepción raíz. Mejor captar eso, en cambio.
fuente
Sí hay.
fuente
Puede detectar múltiples excepciones en un solo bloque de captura.
fuente
¿Te refieres a atrapar un
Exception
de cualquier tipo? que se lanza, en lugar de solo Excepciones específicas?Si es así:
fuente