在程序执行的过程中,不可避免的会出现一些无法预料的错误,比如文件读取失败,数据库连接失败,错误处理中间件是一个集中处理错误的地方
app.use((err,req,res,next)=>{
res.status(500).send('服务器发生未知错误');
})
//引入express框架
const express = require('express');
//创建网站服务器
const app = express();
app.get('/index',(req,res)=>{
throw new Error('程序发生了未知错误');
// res.send('程序正常执行')
})
//错误处理中间件
app.use((err,req,res,next)=>{
res.status(500).send(err.message);
})
//监听端口
app.listen(3000);
console.log('网站服务器启动成功');
当程序出现错误时,调用next()方法,并且将错误信息通过参数的形式传递给next()方法,即可触发错误处理中间件
app.get('/',(req,res,next)=>{
fs.readFile("/file-does",(err,data)=>{
if(err){
next(err)
}
})
//引入express框架
const express = require('express');
//创建网站服务器
const fs = require('fs');
const app = express();
app.get('/index',(req,res,next)=>{
fs.readFile('./文件清单.txt','utf8',(err,result)=>{
if(err !=null){
next(err)
}else{
res.send(result)
}
})
})
//错误处理中间件
app.use((err,req,res,next)=>{
res.status(500).send(err.message);
})
//监听端口
app.listen(3000);
console.log('网站服务器启动成功');
16-Node.js学习笔记-Express-中间件02-错误处理中间件
原文:https://www.cnblogs.com/foreverLuckyStar/p/12088652.html