web前端全系列 教程
1839个小节阅读:2243.1k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
Express有内置的错误处理器来捕获并且处理程序抛出的异常。
同步代码抛出异常,Express会自动捕获
xxxxxxxxxx
app.get('/',function(req,res){
throw new Error('错误信息')//Express将会自动捕获
res.send('hello,baizhan')
})
异步代码抛出异常,必须通过调用next()
方法传递错误信息到Express
xxxxxxxxxx
app.get('/', function (req, res, next) {
fs.readFile('./input.txt', function (err, data) {
if (err) {
next(err) // 需要调用Next方法传递错误信息到Express
} else {
res.send(data)
}
})
})
xxxxxxxxxx
app.get('/', function (req, res, next) {
setTimeout(function () {
try {
throw new Error('错误信息')
} catch (err) {
next(err)
}
}, 100)
})
提示:
要想让Express的默认错误处理器处理异常,我们需要保证Express能接收到错误。
如果错误信息没有被捕获,则Express会关闭连接,请求会失败。
实时效果反馈
1.下列说法错误的是:
A 路由处理器中的同步代码出现错误,则Express会自动捕获
B 路由处理器中的异步代码,调用next()
传递错误信息,则Express才会捕获到错误信息
C app.get('/',function(req,res){ console.log(name)})
,Express会捕获到错误信息
D app.get('/',function(req,res){ console.log(name)})
,Express不会捕获到错误信息
答案
1=>D