[英]What is the error contract for functions from “fs” in Node?
在用JavaScript为Node编写的应用程序中,我不想尝试从文件系统错误中恢复。 为此,我需要知道该错误可能是什么。 手册说的不多。 所以我的问题是:
例:
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;
}
在此处查看有关Node Error对象的文档。
通常,它将具有消息和堆栈属性。 message
属性是有关引发的错误的详细消息。 stack
是引发错误时的堆栈跟踪。
一些开发人员还使用自定义属性来添加有关该错误的更多详细信息。 希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.