¿Hay alguna función que interrumpirá automáticamente la depuración en la primera excepción?
Así que nosotros
- iniciar aplicación
- hacer algo que arroje una excepción
- consiguió IntelliJ apareció línea resaltada donde se produjo la excepción.
debugging
exception
intellij-idea
Mike Chaliy
fuente
fuente
Respuestas:
Correr | Ver puntos de interrupción | Puntos de interrupción de excepción
fuente
Una forma rápida de abrir el cuadro de diálogo es presionar Ctrl+ SHIFT+ F8(en Mac: Cmd+ SHIFT+ F8), luego hacer clic en la pestaña de puntos de interrupción de excepción. Si esa fue la última pestaña que estaba viendo, aún se seleccionará, lo que facilita el encendido y apagado de las excepciones.
Esto hará que IntelliJ se rompa en el punto del código (o código de la biblioteca) donde se produjo la excepción. Específicamente, obtienes una 'primera oportunidad' en el manejo de excepciones, antes de que la pila se camine buscando bloques de captura / finalmente para ejecutar.
SUGERENCIA: Java tiende a generar muchas excepciones internamente al cargar clases, por lo que esta interrupción en todas las excepciones puede volverse bastante tediosa. La buena noticia es que puede excluir ciertos tipos de excepción utilizando el campo de condición .
Por ejemplo:
Puede encadenar múltiples condiciones de este tipo junto con
&&
.fuente
En IntelliJ IDEA 14 vaya a:
Run -> View Breakpoints -> Check "Java Exceptions Breakpoints" -> Uncheck "Caught Exceptions"
Si no desmarca
Caught Exceptions
la ejecución, se detendrá cada vez queJava Framework
lance una excepción interna.fuente
Sí hay. Debe definir un punto de interrupción de excepción (puede ser "Cualquier excepción") en el cuadro de diálogo de puntos de interrupción en IntelliJ IDEA.
Las excepciones se pueden filtrar por condición o clase si lo desea, o por si está interesado en excepciones capturadas o no capturadas.
fuente
Si hace clic en el pequeño signo "+" en la esquina superior izquierda, puede agregar un nuevo punto de interrupción. Si selecciona Exception Breakpoint, aparece un pequeño cuadro de diálogo donde puede ingresar la clase de excepción para romper (en caso de que no quiera romper todas las excepciones).
fuente
En versiones más recientes en intellij en Ejecutar > Ver puntos de interrupción .
Luego verifique los puntos de interrupción de la excepción Java -> Cualquier excepción .
Una buena forma de depurar las excepciones es usar el paquete de la aplicación principal y el comodín
.*
. De esta manera, omite todas las demás excepciones de bibliotecas, ya que la mayoría de las veces busca excepciones lanzadas por su aplicación y no por ninguna otra biblioteca (que puede ser una gran cantidad de excepciones).Como se muestra en la imagen que uso
com.gs.mercury.*
para romper cada vez que la aplicación lanza una excepción. Si usa excepciones para lo que son (para manejar casos excepcionales y no para manejar el flujo de situaciones normales) solo se detendrá cuando alcance la excepción deseada casi todo el tiempo.PD. respuesta agregada solo para señalar el filtro de clase Catch bastante útil .
fuente