Estoy creando una API de inicio de sesión en NEXT JS, he creado un controlador de errores, pero cuando llamo a la API de inicio de sesión me da el siguiente error:
TypeError: _middleware_error__WEBPACK_IMPORTED_MODULE_2__.default is not a constructor } catch (error) { return next( new ErrorHandler({ "Internal Server Error : ": error.message }, 500) ^ ); }});
Aquí está mi archivo ErrorHandler:
const ErrorHandler = require("../utils/errorhandler"); module.exports = (err, req, res, next) => { err.statusCode = err.statusCode || 500; err.message = err.message || "Internal Server Error"; //Mongo DB Error if (err.name === "CastError") { const message = `Resource Not Found. Invalid: ${err.path}`; err = new ErrorHandler(message, 400); } res.status(err.statusCode).json({ success: false, message: err.message, statusCode: err.statusCode, }); };
Estoy importando un constructor de clase desde mi utils/errorhandler aquí está el código:
class ErrorHander extends Error { constructor(message, statusCode) { super(message); this.statusCode = statusCode; Error.captureStackTrace(this, this.constructor); } } module.exports = ErrorHander;
Básicamente, estoy creando una clase conocida como ErrorHandler y luego la uso para hacer una función de manejo de errores que me devuelve el mensaje de error y el código de estado. El error dice que tengo algún problema con la función, intenté cambiarlo a ES6 pero no funcionó.
Estoy usando NEXT JS API con Express Server personalizado para backend.
Agradezco sus esfuerzos por ayudarme con este Gracias.