オプションstack静的stackError.stackTraceLimit はスタックトレースで収集するフレーム数を指定します。new Error().stack と Error.captureStackTrace(obj) の両方に適用されます。
既定値は 10 ですが、任意の有効な JavaScript の数値を設定できます。変更は、変更後に取得したスタックトレースにのみ影響します。
数値以外の値や負の値を設定すると、フレームは収集されません。
静的capturetargetObject に .stack プロパティを作成します。このプロパティを読み取ると、Error.captureStackTrace() が呼ばれたコード位置を表す文字列が返されます。
const myObject = {};
Error.captureStackTrace(myObject);
myObject.stack; // Similar to `new Error().stack`
スタックの先頭行には ${myObject.name}: ${myObject.message} が付きます。
省略可能な constructorOpt 引数には関数を指定します。指定すると、constructorOpt より上のすべてのフレームと constructorOpt 自体が、生成されるスタックトレースから除かれます。
constructorOpt は、エラー生成の実装詳細をユーザーに見せないために利用できます。例:
function a() {
b();
}
function b() {
c();
}
function c() {
// Create an error without stack trace to avoid calculating the stack trace twice.
const { stackTraceLimit } = Error;
Error.stackTraceLimit = 0;
const error = new Error();
Error.stackTraceLimit = stackTraceLimit;
// Capture the stack trace above function b
Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
throw error;
}
a();
targetObjectconstructorOptオプション静的prepareerrstackTraces
SFML バインディングが報告する実行時エラー。