Node.js 中的未捕获异常怎么解决

发布网友

我来回答

1个回答

热心网友

1. 未捕获异常带来的问题

由于 Node.js 的单线程特性,未捕获异常是一个应用开发过程中值得注意的问题。Node.js 遵循错误第一,数据第二的回调模式。我们经常在看到这样的例子:当回调函数返回一个错误对象,那就立即抛出这个错误。


var fs = require('fs'); fs.readFile('somefile.txt', function (err, data) {  if (err) throw err;  console.log(data);});

如果你运行这个程序,而且假设你没有 somefile.txt 这个文件,一个错误将被抛出。

Error: ENOENT, open 'somefile.txt'

这将导致进程崩溃进而影响到整个APP。 
这是有意为之,Node.js 不打算把你的应用和服务分隔开。

2. 怎样处理未捕获异常

处理未捕获异常的最佳方式是什么呢?有非常多方法:

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com