Tengo el siguiente error:
UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag \`--unhandled-rejections=strict\`En primer lugar, declarar un nuevo objeto no necesita await , así que cambie su declaración de nuevo usuario a const user = new User(your_object_here)
Y lo que quieres decir con catch() entonces lanzas un error y atrapas de nuevo. Cambia tu código a este e inténtalo de nuevo
try{ // logic here res.send('ok') }catch(error) { console.log('that did not go well'); res.status(500).send('fail') }Este error ocurre porque está tratando de generar un error dentro de un bloque catch . (documentación)
Si realmente necesita arrojar un error, debe poner otro try / catch dentro de su bloque de catch . Pero debe considerar eliminar el throw y solo imprimir el error dentro de la captura y enviar un error 500 .
try { await user.save() res.send("ok"); } catch (Error e) { console.log(e); res.status(500).send('ko'); }