Ошибка обработки, отправленная обратно почтальоном express - PullRequest
0 голосов
/ 28 марта 2020

Я работаю с почтальоном, где я отправляю свои данные в api для вставки данных в mongodb. Моя проблема в том, что я не могу правильно обработать сообщение об ошибке. Вот мой код для него

exports.addUser = (req, res, next) => {
  const db = getdb();
  // console.log(db)
  // console.log(db)
  db.collection12("user").insertOne({
    name: req.body.name,
    password:req.body.password
  }).then((result) => {
    res.send(result)  
  }).catch((err) => {
      res.status(404).send('Error in adding')
  });
};

, поэтому я сознательно сделал ошибку и написал "collection12", чтобы я получил ошибку, но затем в моем методе catch я возвращаю

(«Ошибка при добавлении»)

, так почему же тогда в почтальоне я не могу это увидеть вместо того, чтобы видеть, что я вижу огромный ошибочный сигнал, который говорит:

См. ошибка здесь

Я полагаю, что эта проблема была бы и в моей стороне реакции, где вместо получения собственного сообщения об ошибке я получил бы это огромное сообщение

1 Ответ

1 голос
/ 28 марта 2020

Вы на самом деле не входите в блок catch, потому что он даже не может выполнить вызов db. Если вы хотите, чтобы в этой ситуации отправлялась ошибка 404, вам нужно добавить инструкцию try / catch, например:

exports.addUser = (req, res, next) => {
  const db = getdb();
  // console.log(db)
  // console.log(db)

  try {
    db.collection12("user").insertOne({
      name: req.body.name,
      password:req.body.password
    }).then((result) => {
      res.send(result)  
    }).catch((err) => {
        res.status(404).send('Error in adding')
    });
  } catch {
    res.status(404).send('Error in adding')
  }
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...