web-dev-qa-db-fra.com

Existe-t-il une "interruption à la exception" dans IntelliJ?

Existe-t-il une fonctionnalité qui interrompra automatiquement le débogage lors de la première occurrence d'exception?

Alors on

  1. commencer l'application
  2. faire quelque chose qui jette exception
  3. intelliJ a fait apparaître la ligne en surbrillance où une exception s'est produite.
299
Mike Chaliy

Run | Afficher les points d'arrêt | Points d'arrêt d'exception

349
Mike Chaliy

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 &&.

enter image description here

144
Drew Noakes

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.

53
Tonatio

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.

12
Avi

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).

7
koljaTM