debugging - ¿Hay "Break on Exception" en IntelliJ?
intellij-idea (5)
Correr | Ver Puntos de Interrupción | Puntos de interrupción de excepción
¿Existe alguna característica que interrumpa automáticamente la depuración en la primera excepción?
Así que nosotros
- iniciar aplicación
- hacer algo que arroje excepción
- Obtuvo IntelliJ apareció la línea resaltada donde ocurrió la excepción.
En IntelliJ IDEA 14 ir a:
Run -> View Breakpoints -> Check "Java Exceptions Breakpoints" -> Uncheck "Caught Exceptions"
Si no desactiva las Caught Exceptions
la ejecución se detendrá cada vez que Java Framework
emita una excepción interna.
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.
Si hace clic en el pequeño signo "+" en la esquina superior izquierda, puede agregar un nuevo punto de interrupción. Si selecciona el Punto de interrupción de excepción, aparece un pequeño cuadro de diálogo donde puede ingresar la clase de excepción a partir de la cual se debe interrumpir (en caso de que no quiera interrumpir todas las excepciones).
Una forma rápida de abrir el diálogo es presionar Ctrl + MAYÚS + F8 (En Mac: Cmd + MAYÚS + 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 facilitará el encendido y apagado de las excepciones.
Esto hará que IntelliJ se interrumpa en el punto del código (o código de biblioteca) donde se produjo la excepción. Específicamente, tienes una ''primera oportunidad'' en el manejo de excepciones, antes de que la pila se camine buscando capturas / finalmente bloques para ejecutar.
SUGERENCIA: Java tiende a lanzar muchas excepciones internamente al cargar clases, por lo que esta interrupción de todas las excepciones puede ser bastante tediosa. La buena noticia es que puede excluir ciertos tipos de excepción utilizando el campo de condición .
Por ejemplo:
!(this instanceof java.lang.ClassNotFoundException)
Puede encadenar múltiples condiciones de este tipo junto con &&
.