2009-07-08 14 views
9

Voir this question sur la façon de casser des exceptions.Rupture de vos propres exceptions dans IntelliJ

Je reçois un million d'exceptions au démarrage. J'ai essayé d'ignorer ClassNotFoundException, mais ce n'est pas bon, l'EDI semble toujours casser ces exceptions (et autres).

Alors ... qu'est-ce qu'une configuration décente pour que cela ne capture que les vraies exceptions tirées du code utilisateur? (Ignorer également toute exception dans jUnit, le cas échéant)

+0

N'a pas compris clairement. Pourquoi ne pouvez-vous pas ajouter la classe d'exception utilisateur en tant que point d'arrêt? – amit

+0

Je l'ai ajouté, mais ça n'a pas vraiment marché - IntelliJ n'a toujours pas cassé cette exception (au moins dans certains cas). – ripper234

Répondre

8

Comme mentionné par les autres affiches, Les filtres de classe sont le moyen de le faire. Plus précisément, vous pouvez ajouter les noms de package de ce que vous considérez comme «votre code» en tant que filtre de classe. La syntaxe est un peu opaque, mais en utilisant un simple filtre générique comme:.

com.whatever.package *

ressemble à ce qu'il va travailler pour vous. IntelliJ va casser n'importe quelle exception dans n'importe quelle classe dans n'importe quel paquet sous ici. Vous pouvez bien sûr définir plusieurs filtres génériques si votre code se trouve à plusieurs endroits.

0

J'ai vérifié IJ et je vois des tonnes d'options. Peut-être que les filtres de classe sont votre option?

+0

J'ai essayé de le peaufiner quelques fois mais j'ai échoué. – ripper234

+0

Je ne connais pas trop bien IJ, je suis en phase d'apprentissage. – akarnokd

+0

Nice. Cette astuce m'a donné ce dont j'avais besoin. La création d'une exception FILTER était trop grande. Pouvoir activer/désactiver des classes d'exceptions spécifiques est ce dont j'avais besoin. J'utilise IntelliJ depuis 10 ans. Jamais fait cela avant. Merci. – DaShaun

1

Je ne faisais que jouer avec ça plus tôt. Deux façons d'y aller:

1) Configurez-le pour attraper explicitement votre exception, pas "n'importe quelle exception" - si c'est quelque chose comme RuntimeException, ce n'est peut-être pas suffisant. 2) Utilisez le filtre de résultats de classe - pour une raison quelconque, cela n'a PAS fonctionné pour moi. Déjà.

0

Voir these instructions to create a specific exception breakpoint. En bref:

  1. Dans le menu principal, choisissez Exécuter | Afficher les points d'arrêt ou appuyez sur ⇧⌘F8.
  2. Dans la boîte de dialogue Points d'arrêt qui s'ouvre, cliquez sur Ajouter.
  3. Sélectionnez Points d'arrêt d'exception dans la liste déroulante. enter image description here
  4. Dans la boîte de dialogue Sélectionner une classe d'exception, spécifiez la classe d'exception souhaitée dans la bibliothèque ou dans le projet, puis cliquez sur OK.
0

J'ajoute cette réponse parce que j'avais du mal à trouver les filtres de classe sous-dialog mentionné dans serg10 « s accepté réponse. 1) Ouvrez la boîte de dialogue Afficher les points d'arrêt à l'aide du raccourci clavier suivant (Ctrl + Maj + F8), en supposant que vous n'avez pas modifié la liaison pour ce raccourci.

2) Vérifiez l'entrée dans la colonne de gauche intitulée » « Exception Java points d'arrêt ». Cela devrait vérifier automatiquement l'élément enfant intitulé « Toute exception » appartenant à cet élément de niveau supérieur.

3) Cliquez directement sur l'élément enfant intitulé "Any exception" Vous devriez maintenant voir la liste déroulante Filtres de classe sur le côté droit.

4) Cochez la case "Filtres de classe". La Voir les points d'arrêt dialogue devrait ressembler à ceci:

enter image description here

5) Cliquez sur le bouton de sélection à côté de la Filtres de classe liste déroulante. Vous devriez maintenant voir la boîte de dialogue Class Filters.

enter image description here