我想在服务器端返回grpc错误代码和说明。我试过这个
function sayHello(call, callback) {
callback({error: {code: 400, message: "invalid input"});
}
但是我从客户端
获得了这个例外{ Error: Unknown Error
at /home/thanh/email/node_modules/grpc/src/node/src/client.js:434:17 code: 2, metadata: Metadata { _internal_repr: {} } }
如果我不想要在此类消息定义中包含错误字段。
message Hello {
string name = 1;
string error = 2; // don't want this
}
那么将grpc错误发送回客户端的正确方法是什么?
答案 0 :(得分:3)
将其更改为:
return callback({
code: 400,
message: "invalid input",
status: grpc.status.INTERNAL
})
答案 1 :(得分:1)
作为补充,GRPC仅允许16种错误。您可以从其站点https://github.com/avinassh/grpc-errors/blob/master/node/server.js中检查所有错误代码。
在这里,我找到了NodeJs错误处理的示例代码:{{3}}