在用JavaScript为Node编写的应用程序中,我不想尝试从文件系统错误中恢复。为此,我需要知道该错误可能是什么。手册say不多。所以我的问题是:
错误对象的合同是什么?该错误对象是什么?
例:
readFile('file/path', function (error, data) {
if (error) throw error;
console.log(data);
});
最佳答案
返回的所有错误均继承自JavaScript错误对象(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error),分为两类:JS错误和系统错误。
单个操作API(例如示例中的readFile方法)将返回null(如果没有错误)或Error实例(https://nodejs.org/api/errors.html)。可以返回常见系统错误,例如“权限被拒绝”或“没有此类文件”,并且可以在此处找到详尽的列表:
http://man7.org/linux/man-pages/man3/errno.3.html
有很多文档,您只需要小心地正确捕获错误即可,尤其是在使用异步方法时。
错误是JS对象的实例,并且具有属性。您可以执行以下操作:
if (e.code === 'EISDIR') {
console.log("Is not a directory!");
} else {
throw e;
}
关于javascript - Node中“fs”中的函数的错误约定是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34422166/