Existe-t-il une fonctionnalité qui interrompra automatiquement le débogage lors de la première occurrence d'exception?
Alors on
- démarrer l'application
- faire quelque chose qui jette une exception
- a obtenu IntelliJ surgi en surbrillance la ligne où l'exception s'est produite.
debugging
exception
intellij-idea
Mike Chaliy
la source
la source
Réponses:
Run | Afficher les points d'arrêt | Points d'arrêt d'exception
la source
Un moyen rapide de faire apparaître la boîte de dialogue consiste à appuyer sur Ctrl+ SHIFT+ F8(sur Mac: Cmd+ SHIFT+ F8), puis à cliquer sur l'onglet points d'arrêt d'exception. Si c'était le dernier onglet que vous consultiez, il sera toujours sélectionné, ce qui facilitera l'activation et la désactivation des exceptions.
Cela entraînera la rupture d'IntelliJ au point du code (ou du code de bibliothèque) où l'exception a été déclenchée. Plus précisément, vous obtenez une «première chance» à la gestion des exceptions, avant de parcourir la pile à la recherche de blocs catch / finally à exécuter.
CONSEIL: Java a tendance à lancer de nombreuses exceptions en interne lors du chargement des classes, donc cette rupture sur toutes les exceptions peut devenir assez fastidieuse. La bonne nouvelle est que vous pouvez exclure certains types d'exceptions à l'aide du champ de condition .
Par exemple:
Vous pouvez enchaîner plusieurs de ces conditions avec
&&
.la source
Dans IntelliJ IDEA 14, accédez à:
Run -> View Breakpoints -> Check "Java Exceptions Breakpoints" -> Uncheck "Caught Exceptions"
Si vous ne décochez pas,
Caught Exceptions
l'exécution sera arrêtée à chaque fois queJava Framework
lève une exception interne.la source
Oui il y a. Vous devez définir un point d'arrêt d'exception (il peut s'agir de "Toute exception") dans la boîte de dialogue des points d'arrêt d'IntelliJ IDEA.
Les exceptions peuvent être filtrées par condition ou classe si vous le souhaitez, ou selon que vous êtes intéressé par les exceptions interceptées ou non interceptées.
la source
Si vous cliquez sur le petit signe "+" dans le coin supérieur gauche, vous pouvez ajouter un nouveau point d'arrêt. Si vous sélectionnez Exception Breakpoint, vous obtenez une petite boîte de dialogue dans laquelle vous pouvez entrer la classe d'exception à interrompre (au cas où vous ne souhaitez pas interrompre toutes les exceptions).
la source
Dans les versions plus récentes sur intellij dans sous Exécuter > Afficher les points d' arrêt .
Vérifiez ensuite les points d'arrêt Java Exception -> Toute exception .
Un bon moyen de déboguer les exceptions consiste à utiliser votre package d'application principal et le caractère générique
.*
. De cette façon, vous ignorez toutes les autres exceptions de bibliothèques, car la plupart du temps vous recherchez des exceptions levées par votre application et non par une autre bibliothèque (ce qui peut être beaucoup d'exceptions).Comme un exemple montré dans l'image que j'utilise
com.gs.mercury.*
pour casser chaque fois que l'application lève une exception. Si vous utilisez des exceptions pour ce qu'elles sont (pour gérer des cas exceptionnels et non pour gérer le flux de situations normales), vous ne vous arrêterez que lorsque vous atteindrez l'exception souhaitée presque tout le temps.PD. réponse ajoutée juste pour souligner le filtre de classe Catch assez utile .
la source