2016-08-07 14 views
4

Ich habe einen Server in Java geschrieben und einen Client in PHP geschrieben. Wie kann der Client eine Ausnahme vom Server abfangen, wenn etwas schief geht? Ich kann nichts über die Ausnahmebehandlung in der gRPC-Dokumentation finden.Ausnahmebehandlung in gRPC

Vielen Dank!

Antwort

4

Für behandelte Ausnahmen rufen Sie responseObserver.onError(). Wenn Sie eine StatusRuntimeException oder StatusException übergeben (in der Regel über status.asRuntimeException() erstellt), wird der Statuscode und die Beschreibung dem Client mitgeteilt. Nicht behandelte Ausnahmen innerhalb eines Callbacks werden den RPC abbrechen und werden weiterhin die Ausnahme propagieren (die in der Regel in einem UncaughtExceptionHandler führt, der für den Executor aufgerufen wird).

1

In der Antwort auf der Client-Seite (php) http://www.grpc.io/grpc/php/source-class-Grpc.UnaryCall.html#82

den Status hier den Code haben und Details Felder, die den Antwortcode und die entsprechende Meldung bestimmen, wenn in Erics Reaktion wie erwähnt eingestellt. Basierend darauf kann eine geeignete Fehlerbehandlung beim Client durchgeführt werden.