Przerwa, gdy zostanie zgłoszony wyjątek

244

Visual Studio ma opcję automatycznego włamania się do debuggera, gdy zostanie zgłoszony nieobsługiwany wyjątek, czy Eclipse ma podobną funkcjonalność?

keithwarren7
źródło
8
dobry, nie „złapałem” tego podczas mojego wstępnego wyszukiwania
keithwarren7

Odpowiedzi:

306

Jesteś w stanie zdefiniować dokładną listę wyjątków, na których chcesz mieć punkt przerwania, nawet jeśli wyjątki te nie są wyłapane (co powinno być równoważne z „ unhandled”)

nie złapany

VonC
źródło
11
Nie jest tu jasne, czy debugger złamie się na KAŻDYM wyjątku, gdy zaznaczone jest „Zawieś na nieprzechwyconych wyjątkach”. Czy w powyższym przykładzie oznacza to przerwanie nieprzechwyconych wyjątków typu „ActivationException”, czy też oznacza przerwanie dowolnego nieprzechwyconego wyjątku dowolnego typu? Bardzo źle opisany.
AndroidDev
51

Przejdź do okna punktów przerwania, jest przycisk, który wygląda jak J !, tam możesz ustawić punkty przerwania dla wyjątków Java, zarówno przechwyconych, jak i nieprzechwyconych. Do nazw wyjątków można odwoływać się do klas lub używać dopasowywania wzorców.

Ponadto w obszarze Okno -> Preferencje wybierz opcję Java -> Debuguj i znajduje się pole wyboru informujące debugger o konieczności złamania nieprzechwyconych wyjątków

Carles Barrobés
źródło
1
Dzięki. Mój nie miał litery „J!”
Jay Sullivan,
1
@JaySullivan Znajduje się po prawej stronie, więc jeśli okienko jest zbyt małe, musisz je rozwinąć. Jest to okrągła ikona w prawym górnym rogu zrzutu ekranu w zaakceptowanej odpowiedzi .
Nateowami,
1
Rozwiązanie Window / Preference / java / debug jest naprawdę dobrym uzupełnieniem przyjętej odpowiedzi, ta odpowiedź zasługuje na więcej głosów pozytywnych.
pdem
1
Potrzebujesz również: Subclasses of this exception zaznaczone - dostałem to stąd: stackoverflow.com/a/15866667/1599699
Andrew