直観は、スローされた型が単純であるほど良いことを教えてくれます。ポインターよりも int をスローする方が適切であり、クラスよりも構造体をスローする方が適切です。この場合、動的に割り当てられたメンバーを持つほぼ完全なクラスをスローする必要があります。バッファが非常に長くなり、コピーにコストがかかる可能性があるため、ヒープにメモリを割り当てると便利です。他のオブジェクトの制御/引数構造体として機能するため、メソッドを持つ必要はありませんが、構造体へのポインターをスローするためにヒープに構築することと、メモリをクリーンアップするためのデストラクタを持つことの両方が便利です。単純なほど良いので、デストラクタは仮想にする必要がありますか? vtable を省略した方が良いですか、それともvtables は例外の受け渡しにまったく影響しませんか?
この構造体からクラスを基本クラスとして派生させる利点は、ポリモーフ メソッドではなく、データを追加することです。ポインターは、例外ポイントから数層先でキャッチされ、モジュール間で渡される可能性があるため、オブジェクトは可能な限りクリーンに動作し、エラーを複合するリスクを可能な限り少なくする必要があります。