【问题标题】:Try catch in server side affect error handling in react在服务器端尝试捕获会影响反应中的错误处理
【发布时间】:2018-05-01 07:40:26
【问题描述】:

我正在开发一个与服务器中的节点和前端中的 react-redux 一起使用的 Web 应用程序。 该应用程序正在通过前端的 redux 处理错误,我想对服务器使用 try-catch,因为我想让我的服务器正常工作(有时因为一个简单的错误服务器会关闭)。 但是由于 try-catch 在节点(服务器)中使用 try-catch 后正在捕获服务器中的错误,所以我不会在前端收到任何关于该错误的消息(我收到了一条与我正在使用的错误相关的消息还原)

我的问题是:如何处理我的应用程序以在双方都有错误处理?如果我不在服务器中使用 try catch,服务器将关闭。我想在服务器和前端同时进行错误处理。

例如,这是我要使用 try-catch 的应用程序中的更新路由,我已添加此 try-catch,现在我可以通过使用回调在服务器控制台和前端出现错误。但这是正确的方法吗?

    app.put('/updateadmin', function(req, res, cb){

    var email =  req.body.email,
        // password = req.body.password,
        name = req.body.name;

    admin.updateAdmin(email, name, function(err, user){
        if (err)
            throw err;
        try {
            activity.insertActivity(user._id, 4, function(err){
                if (err)
                    throw err;
            });
        } catch (ex) {
            cb(ex);
            console.log(ex);
          }

    });

});

感谢您的帮助

【问题讨论】:

  • 你能至少显示你的服务器代码吗?
  • @JulienTASSIN 我添加了代码
  • 在我看来,这是正确的方法

标签: node.js reactjs error-handling react-redux


【解决方案1】:

我发现了这种处理快递站点错误的方法:

app.put('/updateadmin', function(req, res, next){

var email =  req.body.email,
    name = req.body.name;

admin.updateAdmin(email, name, function(err, user){
    if (err)
        return next(err);

        activity.insertActivity(user._id, 4, function(err){
            if (err)
                return next(err);
        });

});

});

在您的应用程序(如 App.js)的顶层,您应该处理错误。

【讨论】:

    猜你喜欢
    • 2012-07-25
    • 2012-02-25
    • 2015-10-19
    • 2011-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多