在学习Node.js的官方文档File System的时候,看到一段代码:
const fs = require('fs');
fs.unlink('/tmp/hello', (err) => {
if (err) throw err;
console.log('successfully deleted /tmp/hello');
});
这种处理异常的方式应该是不正确的.因为throw err抛出异常的方式,只适用于try/catch方式.
于是我想到的解决方案是:
使用domain的方式进行解决(不方便,因为具体的error希望具体进行处理)
继承Events, 然后通过event.on('error', callback)进行error的捕捉(不方便,适用于自定义的函数,而非系统已有的)
那么问题是:
这种异常通常如何进行处理?
异步不能捕捉异常,需要在回调里传入一个err对象或者提供一个异常回调,如有错误请指正。