Existe-t-il une fonctionnalité qui interrompra automatiquement le débogage lors de la première occurrence d'exception?
Alors on
Run | Afficher les points d'arrêt | Points d'arrêt d'exception
Un moyen rapide de faire apparaître la boîte de dialogue consiste à appuyer sur Ctrl + SHIFT + F8 (Sur Mac: Cmd + SHIFT + F8), puis cliquez sur l'onglet des points d'arrêt d'exception. Si c’était le dernier onglet que vous visualisiez, il serait toujours sélectionné, ce qui faciliterait le feuilletage des exceptions.
Cela provoquera une interruption d'IntelliJ au niveau du code (ou du code de la bibliothèque) où l'exception a été déclenchée. Plus précisément, vous obtenez une "première chance" pour la gestion des exceptions, avant que la pile ne soit parcourue à la recherche de blocs catch/finally à exécuter.
ASTUCE: Java a tendance à générer de nombreuses exceptions en interne lors du chargement de classes. Cette rupture de toutes les exceptions peut donc s'avérer fastidieuse. La bonne nouvelle est que vous pouvez exclure certains types d'exceptions à l'aide de - condition champ.
Par exemple:
!(this instanceof Java.lang.ClassNotFoundException)
Vous pouvez chaîner plusieurs de ces conditions avec &&
.
Dans IntelliJ IDEA 14, allez à:
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 que le Java Framework
lève une exception interne.
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 Points d'arrêt d'IntelliJ IDEA.
Les exceptions peuvent être filtrées par condition ou par classe si vous le souhaitez, ou par intérêt pour les exceptions interceptées ou non.
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 Point d'arrêt d'exception, 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).