在用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/

10-11 22:16
查看更多