2009-07-08 10 views
9

Vedere this question su come interrompere eventuali eccezioni.Interruzione delle proprie eccezioni in IntelliJ

Ricevo un milione di eccezioni all'avvio. Ho provato a ignorare ClassNotFoundException, ma non va bene, l'IDE sembra ancora rompere su queste (e altre) eccezioni.

Quindi .. cosa è una configurazione decente per questo per rilevare solo le eccezioni reali catturate dal codice utente? (Ignora anche qualsiasi eccezione in jUnit, se applicabile)

+0

non capiva chiaramente. Perché non è possibile aggiungere la classe di eccezione utente stessa come punto di interruzione? – amit

+0

L'ho aggiunto, ma non ha funzionato abbastanza - IntelliJ non ha ancora infranto questa eccezione (almeno in alcuni casi). – ripper234

risposta

8

Come indicato dagli altri poster, Class Filters sono il modo per farlo.

In particolare, è possibile aggiungere i nomi dei pacchetti per quello che si considera "il codice" come filtro di classe. La sintassi è un po 'opaco, ma utilizzando un semplice filtro jolly come:.

com.whatever.package *

suona come esso funzionerà per voi. IntelliJ si romperà su qualsiasi eccezione in qualsiasi classe in qualsiasi pacchetto qui sotto. Ovviamente puoi definire più filtri jolly se il tuo codice è presente in più di un posto.

0

Ho controllato IJ e vedo un sacco di opzioni. Forse i filtri di classe sono la tua opzione?

+0

Ho provato a modificarlo alcune volte, ma non sono riuscito. – ripper234

+0

Non ho molta familiarità con IJ, sono in una fase di apprendimento. – akarnokd

+0

Bello. Questo suggerimento mi ha portato a ciò di cui avevo bisogno. La creazione di un'eccezione FILTER era troppo grande. Essere in grado di attivare/disattivare specifiche classi di eccezioni è ciò di cui avevo bisogno. Utilizzo IntelliJ da 10 anni. Mai fatto prima. Grazie. – DaShaun

1

Mi stavo solo scherzando prima. Due modi per andare:

1) Configurarlo per catturare esplicitamente l'eccezione, non "qualsiasi eccezione" - se è qualcosa come RuntimeException, questo potrebbe non essere abbastanza filtrante. 2) Usa il filtro dei risultati della classe - questo per qualsiasi motivo NON ha funzionato per me. Mai.

0

Vedere these instructions to create a specific exception breakpoint. In breve:

  1. Nel menu principale, selezionare Esegui | Visualizza i punti di interruzione o premere ⇧⌘F8.
  2. Nella finestra di dialogo Punti di interruzione visualizzata, fare clic su Aggiungi.
  3. Selezionare Eccezione punti di interruzione dall'elenco a discesa. enter image description here
  4. Nella finestra di dialogo Seleziona classe di eccezione, specificare la classe di eccezione desiderata dalla libreria o dal progetto e fare clic su OK.
0

Sto aggiungendo questa risposta perché ho avuto difficoltà a trovare i filtri di classe sub-dialogo di cui al serg10 's accettato risposta. Per visualizzare la finestra di dialogo secondaria fare quanto segue:

1) Aprire la finestra di dialogo Visualizza punti di interruzione utilizzando la seguente scorciatoia da tastiera (Ctrl + Maiusc + F8), assumendo che non sia stata modificata la rilegatura per tale collegamento.

2) Controllare la voce nella colonna di sinistra dal titolo" 'Java Punti di interruzione eccezione'. Questo dovrebbe controllare automaticamente la voce di bambino dal titolo 'Qualsiasi eccezione' appartenente a quella elemento di livello superiore.

3) Fare clic direttamente sull'elemento figlio intitolato "Qualsiasi eccezione". Ora dovresti vedere la casella a discesa Filtri classe sul lato destro.

4) Selezionare la casella accanto a "Filtri di classe". The View dialogo punti di interruzione dovrebbe apparire così:

enter image description here

5) Fare clic sul puntini di sospensione accanto alla filtri relativi alla classe casella a discesa. Ora dovresti vedere la finestra di dialogo Filtri di classe.

enter image description here