我到底做错了什么.我正在try 创建一个全局错误处理中间件,它以特定的JSON格式显示error message和error status,但它却以某种奇怪的方式显示错误.
- 目录:node/app.js
const express = require('express');
const app = express();
//gloabl error handling middlware
const globalError = require('./middleware/globalErrorHandlingMiddleware')
//middlewares
app.use(express.json())
app.use(globalError)
//homepage
app.get('/',(req,res)=>{
res.send("homepage")
})
//page not found
app.all('*',(req,res,next)=>{
const err = new Error('route does not exist')
err.statusCode = 404;
next(err)
})
//port
app.listen(3000,()=>{
console.log('server started at port 3000')
})
- 目录:node/midleware/lobalErrorHandlingMiddleware.js
function globalErrorHandler(err, req, res, next){
const errorMessage = err.message || 'Something went wrong.';
const statusCode = err.statusCode || 500;
res.status(statusCode).json({
error: errorMessage,
});
};
module.exports = globalErrorHandler