捕获hapi请求生命周期中的所有错误。
我有一个注册处理程序,

public signup(request: Hapi.Request, reply: Hapi.Base_Reply) {
    this.database.user.create(request.payload).then((user: any) => {
        return reply({
            "success": true
        });
    }).catch((err) => {
        reply(Boom.conflict('User with the given details already exists'));
    });
}

现在,我正在捕获该错误,但是我无法始终确保仅得到此错误消息。如果数据库中出现错误怎么办?
如何为所有请求捕获此类数据库错误或任何其他未知错误。 ???

最佳答案

也许您必须像这样在回复中返回err.message

reply(Boom.conflig(err.message))

或者如果您想管理或处理错误,则必须验证错误的类型,例如
if (err instanceof DatabaseError) {
   // manage database error
}

关于error-handling - HAPI中的错误处理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45550217/

10-14 13:06
查看更多