6
Node.js에서 예외를 throw하는 메서드가 있으면 해당 메서드의 console.log 문이 실행되지 않습니다. 나는 아래의 간단한 테스트 케이스에서 readFileSync 호출로부터 예외를 잡아야한다는 것을 알고있다. 그렇지 않으면 그것에 대한 방어가되어야한다. 누군가가 저에게 행동을 설명 할 수 있는지 궁금합니다.Node.js : 메서드가 예외를 throw하면 console.log 메시지가 표시되지 않습니다 ... 왜?
간단한 테스트 케이스 :
var fs = require('fs');
function readAFileThatDoesntExist(filename) {
console.log(filename);
fs.readFileSync(filename);
}
console.log("We're about to read a file that doesn't exist!");
readAFileThatDoesntExist("afile");
출력 :
$ node test.js
We're about to read a file that doesn't exist!
fs.js:338
return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
^
Error: ENOENT, no such file or directory 'C:\blog\projects\bloggen\scripts\afile'
at Object.fs.openSync (fs.js:338:18)
at Object.fs.readFileSync (fs.js:182:15)
at readAFileThatDoesntExist (C:\blog\projects\bloggen\scripts\test.js:5:8)
at Object.<anonymous> (C:\blog\projects\bloggen\scripts\test.js:9:1)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.runMain (module.js:492:10)
at process.startup.processNextTick.process._tickCallback (node.js:244:9)
예상대로 작동합니다 (노드 0.10.10) – JJJ
잘 작동합니다 (v0.10.21). – matth
그래, 내 노드가 얼마나 멀리 뒤로 ... 깨닫지 못 했어. 고마워. – Shaun