그래서이 간단한 호출을 OS X 10.6.8의 node.js v0.6.7에서 가짜 경로로 실행하면 예상대로 오류가 발생합니다. 왜 errno 34와 코드가 일치하지 않는가 ENOENT
var fs = require("fs");
fs.stat("/tmp/foo", function(error, stat) {
return console.log(error);
});
그것은
이 출력을 인쇄 :{ [Error: ENOENT, no such file or directory '/tmp/foo'] errno: 34, code: 'ENOENT', path: '/tmp/foo' }
내 질문입니다, 내 시스템에 /usr/include/sys/errno.h
에 따라, ENOENT
코드 2가 있어야합니다, 그래서 왜이 오류가 errno.h의 errno를 34
(ERANGE을 말하고있다),하지만 ENOENT
의 오류 메시지와 페어링 하시겠습니까? 윈도우 및 유닉스 하에서 에러 조건에 대한 일반적인 표현을 달성하기
정말 감사합니다. 감사합니다. 그렇다면 왜''('상수') ENOENT' 2를보고해야합니까? 노드의 오류를 가져 오는 또 다른 방법이 있습니까? –
조금 늦었지만 다른 사람들에게 도움이 될 수 있습니다. errnos가 노드에 노출되지 않은 것으로 보입니다. npm 모듈 [errno-codes] (https://npmjs.org/package/errno-codes)을 사용하여 errnos에 대한 미리 정의 된 상수를 얻을 수 있습니다. – basti1302
나는 이것이 nodejs 버그라고 맹세한다. 문서별로 '-2'여야합니다. https://nodejs.org/api/errors.html#errors_error_errno – Pacerier