乐趣区

关于koa:koa异常处理详解

文章不易,请关注公众号 毛毛虫的小小蜡笔,多多反对,谢谢

问题

koa 是怎么解决异样的?

剖析

首先理解下 node.js 是怎么解决异样的

一般来说,node.js 顶层有个 uncaughtException 事件,当异样没被捕捉的时候,就会一层层回升,直到触发定义好的 uncaughtException 事件。

但有个问题,node.js 最大的特点是异步机制。比方读取文件信息的 stat 的异步写法:

require('fs').stat('test.txt', function(err, res) {if (err) {throw err;}
})

如果读取文件信息过程中出错了,比方文件不存在。那就会执行 throw err。

就算用了 try catch,也不能捕捉异步函数。

详情 请查看:毛毛虫的小小蜡笔

退出移动版