2016-06-14 16 views
2

Wie kann ich die erste Zeile bekommen nur eines console.log (ex.stack)>Try catch ex.stack erste Zeile bekommen nur

Nur als Beispiel möchte ich dieses:

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

Out davon:

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) 

Antwort

1

Wenn Sie die Fehlermeldung möchten, greifen Sie einfach direkt. Es gibt keine Notwendigkeit, sie von dem vollen Stack-Trace zu parsen:

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

Wenn das aus irgendeinem Grunde nicht möglich ist, wird die Stack-Trace nichts anderes als ein String sein:

console.log(typeof ex.stack); 

Zeichenfolge

... so Ihre Lieblings String-Manipulation tecnique wählen:

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