I am creating a NodeJS API using Express, PostgreSQL in which I created a controller function which will check the user from the database.
const checkUser = async (req, res) => {
  try {
    const user = await pool.query('select * from users where email = $1', [req.body.email]);
    if (user.rows.length === 0) throw new Error('Error Found');
    return res.json("User Found");
  } catch (e) {
//=======   Output at console ========
//Error: Error Found 
    console.log(e); 
//========  Response Object Received From API ==========
// {
//   "msg": "Error Found",
//   "Error": {}
// }
    res.status(400).send({ msg: 'Error Found', Error: e });
  }
};
Consider the situation that the user is not found in the Database so from try block the control passes to the catch block. 
1- I am not able to get why the Error thrown from the try block to catch block sends back an empty object as a response. Also, at the same time using console.log  prints the correct output value in the console.
2- I want a fix so that I can send e as a response to the User.
 
    