2017-01-11 18 views

答えて

1

try/catchによってキャッチされない限り、エラーをスローするとスタックが停止します。

function getStack() { 
    try { 
     throw new Error(); 
    } catch(e) { 
     return e.stack; 
    } 
} 

任意の関数内からgetStackを呼び出すと、そこからスタックが出力されます。

スタック内のメソッド名はソースマップの影響を受けません。したがって、縮小されたコードを扱う場合でも、難読化された名前が残る可能性があります。

1

はまた、単にスタックトレースを、それをスローせずに新しいエラーを作成して使用することができます

function doSomething() { 
    ... 
    const stackTrace = new Error().stack 
    ... 
}