• targetObject {Object}
    • constructorOpt {Function}

    targetObject 上创建一个 .stack 属性,当访问时返回一个表示代码中调用 Error.captureStackTrace() 的位置的字符串。

    1. const myObject = {};
    2. Error.captureStackTrace(myObject);
    3. myObject.stack; // 类似 `new Error().stack`

    ${myObject.name}: ${myObject.message} 会作为该堆栈跟踪的第一行。

    可选的 constructorOpt 参数接受一个函数。 如果提供了,则 constructorOpt 之上包括自身在内的全部栈帧都会被生成的堆栈跟踪省略。

    constructorOpt 参数用在向用户隐藏错误生成的具体细节时非常有用。例如:

    1. function MyError() {
    2. Error.captureStackTrace(this, MyError);
    3. }
    4. // 没传入 MyError 到 captureStackTrace,MyError 帧会显示在 .stack 属性。
    5. // 通过传入构造函数,可以省略该帧,且保留其下面的所有帧。
    6. new MyError().stack;