Guava EventBus: Keine RuntimeException

8

Ich benutze den EventBus von Guava, leider fängt er die InvocationTargetException auf und protokolliert sie, wenn ein Event-Handler eine RuntimeException auslöst. Kann ich dieses Verhalten deaktivieren?

    
Fabian Zeindl 10.02.2012, 19:53
quelle

3 Antworten

8

Wie es aussieht, ist dies eine bewusste Entscheidung und wird in den EventBus-Dokumenten diskutiert:

  

Handler sollten im Allgemeinen nicht werfen. Wenn dies der Fall ist, wird der EventBus die Ausnahme abfangen und protokollieren. Dies ist selten die richtige Lösung für die Fehlerbehandlung und sollte nicht verlässlich sein. es soll nur helfen, Probleme während der Entwicklung zu finden.

Alternative Lösungen werden in Erwägung gezogen , obwohl ich ernsthaft bezweifle, dass sie das tun werden mach es in Release 12.

    
Louis Wasserman 10.02.2012, 20:00
quelle
4

Hier ist Code für faule

%Vor%

Nun können Sie ExceptionEvent abonnieren.

Hier ist meine ExceptionEvent für nur Kopieren und Einfügen

%Vor%     
wener 30.10.2014 02:28
quelle
0

Erben Sie einfach den Guava EventBus und schreiben Sie Ihren eigenen Eventbus. Tipps: Diese Klasse sollte in das Paket com.google.common.eventbus schreiben, damit die interne Methode überschrieben werden kann.

%Vor%     
TimYi 29.11.2016 03:24
quelle