Excelのようなシステムを作っています。ドキュメントを開いてサポートされていない関数を見つけたとき、例外をスローしました。私たちはExcel関数の小さなサブセットをサポートしているだけです。これは頻繁に発生する可能性があります。問題は、サポートされていない関数を含むセルがたくさんある場合、たくさんの例外インスタンスが作成されることです。そして、それらの多くの例外インスタンスを作成すると、無視できないほどの時間がかかります。
例外クラス内に特別なプロパティはありません。知っておく必要があるのは、例外がスローされるという事実です。エラーが発生したことがわかり、セルをエラーとしてマークします。
そこで、1つの例外インスタンスを共有し、必要に応じてそれをスローすることにしました。例外インスタンスは、複数のスレッドによってスローされる可能性があります。スタックトレースが破損している可能性がありますが、表示されません。例外をキャッチし、対応するセルをエラーとしてマークします。
私の質問は次のとおりです。この状況では、例外インスタンスを共有しても安全ですか? さて、私は次の記事を読みました: Java:例外クラスはスレッドセーフですか? しかし、文脈は異なっているようです。
この長い質問と回答を事前に読んでいただきありがとうございます。