エラーオブジェクトをインスタンス化するたびに.stack
フィールドがあります。スタックトレースを構築することはコストのかかる操作であると仮定すると、私の自然な反応は、例外的な場合にその使用を予約することです。エラーオブジェクトのスタックはいつ生成されますか?
しかし、私はv8でstacktraceが.stack
フィールドの読み取り時にのみ計算されていることを覚えています。
new Error(...)
は、スタックを一度も読み取らないとnew Object(...)
と同じくらい高価だと思いますか?
これはJSエンジンの機能ですか、標準的な動作ですか?
エラーをログに記録できませんか? –
スタックトレースの収集は、まだフォーマットされておらず、まだストリングとして保存されていても、コストがかかる操作です。 – Bergi