私はJavaで書かれたサーバとPHPで書かれたクライアントを持っています。何か問題が生じた場合、クライアントはどのようにサーバーから例外をキャッチできますか?私はgRPCのドキュメントで例外処理について何も見つけることができません。gRPCの例外処理
ありがとうございました!
私はJavaで書かれたサーバとPHPで書かれたクライアントを持っています。何か問題が生じた場合、クライアントはどのようにサーバーから例外をキャッチできますか?私はgRPCのドキュメントで例外処理について何も見つけることができません。gRPCの例外処理
ありがとうございました!
処理される例外については、responseObserver.onError()
に電話してください。 StatusRuntimeException
またはStatusException
(通常はstatus.asRuntimeException()
で作成)を渡すと、ステータスコードと説明がクライアントに伝えられます。コールバック内の未処理の例外はRPCを取り消し、例外を伝播し続けます(一般にexecutorが呼び出されるのはUncaughtExceptionHandler
です)。クライアント側(PHP)に応答して
http://www.grpc.io/grpc/php/source-class-Grpc.UnaryCall.html#82
ここステータスが設定されている場合、エリックの応答で述べたように、応答コードと、適切なメッセージを決定するコードと詳細フィールドを有することになります。これに基づいて、適切なエラー処理をクライアントで行うことができます。