2009-06-01 4 views
236

Y a-t-il une fonctionnalité qui interrompt automatiquement le débogage lors de l'apparition de la première exception?Y a-t-il "Break on Exception" dans IntelliJ?

Nous

  1. application de démarrage
  2. faire quelque chose qui jettent exception
  3. a obtenu IntelliJ a surgi ligne surligné où exception est survenue.

Répondre

279

Exécuter | Afficher les points d'arrêt | Points d'arrêt d'exception

12

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 dans IntelliJ IDEA.

Les exceptions peuvent être filtrées par condition ou classe si vous le souhaitez, ou par si vous êtes intéressé par les exceptions interceptées ou non.

118

Un moyen rapide pour faire apparaître la boîte de dialogue est d'appuyer sur Ctrl + SHIFT + F8 (Sur Mac: Cmd + SHIFT + F8), puis cliquez sur à l'exception des points d'arrêt languette. Si c'était le dernier onglet que vous étiez en train de regarder, il sera toujours sélectionné, ce qui vous permettra d'activer et de désactiver facilement les exceptions. Cela entraînera la rupture d'IntelliJ au point du code (ou code de la bibliothèque) où l'exception a été levée. Plus précisément, vous obtenez une «première chance» lors de la gestion des exceptions, avant que la pile ne soit parcourue à la recherche de blocs catch/finally à exécuter.


TIP: Java a tendance à jeter beaucoup d'exceptions à l'intérieur lorsque les cours du chargement, cette rupture sur toutes les exceptions peut devenir assez fastidieux. Les bonnes nouvelles sont que vous pouvez exclure certains types d'exception en utilisant le champ condition.

Par exemple:

!(this instanceof java.lang.ClassNotFoundException) 

Vous pouvez enchaîner plusieurs conditions avec &&.

enter image description here

+0

En cas d'exception IDEA ne met pas en évidence la ligne correcte - que puis-je faire? –

+1

@VitalyZdanevich, je ne sais pas. Vous devriez poser une nouvelle question. –

+0

@VitalyZdanevich, recompiler le programme. les fichiers de débogage sont probablement obsolètes –

4

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 sur laquelle se briser (au cas où vous ne souhaitiez pas interrompre toutes les exceptions).

40

Dans IntelliJ IDEA 14 aller à:

Run -> View Breakpoints -> Check "Java Exceptions Breakpoints" -> Uncheck "Caught Exceptions"

Si vous ne désactivez pas Caught Exceptions l'exécution sera arrêté chaque fois que le Java Framework déclenche une exception interne.

+1

Exécuter -> Afficher les points d'arrêt ... -> Cochez "Java Exceptions Breakpoints" -> Décocher "Exceptions interceptées" – Jonas

+2

Malheureusement, cela casse toujours les exceptions interceptées pour moi, même après la désactivation des "exceptions interceptées". – Carcigenicate

+1

Décocher 'Caught Exceptions' est exactement ce que je cherchais! Comment cela n'est-il pas plus mis en valeur! – Dylanthepiguy

Questions connexes