2016-06-14 34 views
2

我怎麼只的console.log(ex.stack)>嘗試捕捉ex.stack得到第一線僅

例如第一行,我只想要這個:

TypeError: Object #<Object> has no method 'debug' 

出這個:

TypeError: Object #<Object> has no method 'debug' 
    at eval at <anonymous> (unknown source) 
    at eval (native) 
    at Object._evaluateOn (unknown source) 
    at Object._evaluateAndWrap (unknown source) 
    at Object.evaluate (unknown source) 

回答

1

如果你想要的錯誤信息,直接抓住它。有沒有需要從完整的堆棧跟蹤解析出來:

var Object = {}; 
try { 
    Object.debug(); 
} catch(ex) { 
    console.log(ex.message); 
} 

如果因任何原因是不可能的,堆棧跟蹤似乎只是一個字符串:

console.log(typeof ex.stack); 

...所以挑選自己喜歡的字符串操作tecnique:

var Object = {}; 
try { 
    Object.debug(); 
} catch(ex) { 
    console.log(ex.stack.split("\n", 1).join("")); 
}