【问题标题】:catch block isn't getting my errors from the fetch apicatch 块没有从 fetch api 得到我的错误
【发布时间】:2020-09-11 03:55:52
【问题描述】:

我有一个与图片完全相同的代码。 fetch 方法被包裹在一个 catch 块中,它只是没有捕获错误。在我的节点后端,我尝试了不同的方法来呈现错误,以便可以在前端捕获它。

const  errorHandler = (err, req, res, next) => {
    if (typeof (err) === "string") {
        // custom application error
        return res.status(400).json({ message: err });
    }

    if (err.name === "UnauthorizedError") {
        // jwt authentication error
        return res.status(401).json({ message: "Invalid Token" });
    }
    if (err.name === "JsonWebTokenError") {
        // jwt authentication error
        return res.status(401).json({ message: "Invalid Token" });
    }

    // default to 500 server error
    return res.status(501).render("error" , { message: err.message });

};

这是我的节点后端

【问题讨论】:

  • 只有在您断开连接时才会触发。你应该检查response.ok,如果不正常,可能会抛出。

标签: javascript node.js reactjs express error-handling


【解决方案1】:

您可以使用这个简单的功能检查错误

handleFetchErrors (response) {
    if (!response.ok) throw Error(response.statusText)
    return response
}

【讨论】:

    猜你喜欢
    • 2021-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-03
    • 2021-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多