2016-08-07 11 views
4

私はJavaで書かれたサーバとPHPで書かれたクライアントを持っています。何か問題が生じた場合、クライアントはどのようにサーバーから例外をキャッチできますか?私はgRPCのドキュメントで例外処理について何も見つけることができません。gRPCの例外処理

ありがとうございました!

答えて

4

処理される例外については、responseObserver.onError()に電話してください。 StatusRuntimeExceptionまたはStatusException(通常はstatus.asRuntimeException()で作成)を渡すと、ステータスコードと説明がクライアントに伝えられます。コールバック内の未処理の例外はRPCを取り消し、例外を伝播し続けます(一般にexecutorが呼び出されるのはUncaughtExceptionHandlerです)。クライアント側(PHP)に応答して

1

http://www.grpc.io/grpc/php/source-class-Grpc.UnaryCall.html#82

ここステータスが設定されている場合、エリックの応答で述べたように、応答コードと、適切なメッセージを決定するコードと詳細フィールドを有することになります。これに基づいて、適切なエラー処理をクライアントで行うことができます。