2016-06-26 3 views
0

이것은 기본 것으로 보이지만 뭔가 누락되었습니다. 난과 오류 로깅 Node.js를 강력 모듈 AM 콘솔을 사용하고 :Javascript 객체의 console.log에 대한 설명

uploadProc.on('error', function(err) { 
    console.log("Form upload error..."); 
    console.log(typeof err); 
    console.log(err); 
    console.log(err[0]); 
    console.log(err['Error']); 
    console.log(JSON.stringify(err); 
}); 

출력은 :

object 
[Error: Request aborted] 
undefined 
undefined 
{} 

I시피,이 배열이나 일반 물체도이며 속성 Error. 만약 내가 그것을 표현하기를 원한다면, 그것이 어떤 유형이든, 나는 그것을 어떻게합니까? 시작할 문자열 일 수 있습니다. 그러나 그러한 경우라면 typeof는 "string"을 반환했을 것입니다. 나는 Mozilla에 이것을 검사한다. "다른 객체"범주에 속하는 것 같습니다. 누군가 [오류 : 요청이 중단되었습니다]로 콘솔에 기록 된 객체의 유형을 설명 할 수 있습니까?

+0

[오류 개체] (https://nodejs.org/api/errors.html#errors_class_error)입니다. 어떤 식으로 문자열을 나타낼 것인가? (결과는 무엇을 기대합니까?) – robertklep

+0

@robertklep 답변으로 의견을 게시해야합니다. – yeiniel

+0

@yeiniel 그것은 아직 대답이 아닙니다 :-) "stringify"단계가 산출해야하는 것이 무엇인지 (이름, 스택 추적 등) 명확하지 않습니다. – robertklep

답변

1

그것은 Error object입니다 :

> console.log(new Error('hello world').stack) 
Error: hello world 
    at repl:1:13 
    at REPLServer.defaultEval (repl.js:262:27) 
    at bound (domain.js:287:14) 
    at REPLServer.runBound [as eval] (domain.js:300:12) 
    at REPLServer.<anonymous> (repl.js:431:12) 
    at emitOne (events.js:82:20) 
    at REPLServer.emit (events.js:169:7) 
    at REPLServer.Interface._onLine (readline.js:211:10) 
    at REPLServer.Interface._line (readline.js:550:8) 
    at REPLServer.Interface._ttyWrite (readline.js:827:14) 
: 당신이 출력 스택 추적을 원하는 경우,

> console.log(new Error('hello world').toString()) 
Error: hello world 

을 또는 :

> new Error('hello world') instanceof Error 
true 

그것은 당신이 사용할 수있는 .toString() 방법을 캐릭터 라인 화 할 수있다

+0

완벽한 설명! 내가 물었던 많은 정보를 얻었다. 매우 교육적인! – Sam