Search code examples
mongoosemongoose-schemakoa2

Error handling in async await


How can you implement error handling for Mongoose (current version v5.1.5)?

For example, let's assume the following code where a user detail is being looked up.

let u = await user.find({ code: id }).lean();
return u;

And some error occurs, how should it be handled?

Secondly, can we have centralised error handling function which will get triggered whenever an error happens in any of the Mongoose code, it gets directed to a particular function in the project where it can be handled.


Solution

  • You will get error in .catch method of async await

    Suppose you have a function

    handleErrors(req, res, err) {
      return res.json({
        success: false,
        message: err,
        data: null
      })
    }
    

    And here is your query

    try {
      let u = await user.find({ code: id }).lean();
      return u;
    } catch(err) {
      handleErrors(req, res, err)  //You will get error here
    }
    

    You can check here for more