Попробуй catch на стороне сервера повлиять на обработку ошибок в реакции - PullRequest
0 голосов
/ 01 мая 2018

Я работаю над веб-приложением, которое работает с узлом на сервере и response-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);
          }

    });

});

Спасибо за помощь

1 Ответ

0 голосов
/ 20 мая 2018

Я нашел способ обработки ошибок в экспресс-сайте:

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, вы должны обрабатывать ошибки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...