そのため、私は自分の開発で Qt をよく使用し、気に入っています。Qt オブジェクトの通常の設計パターンは、 を使用してそれらを割り当てることnew
です。
std::bad_alloc
ほとんどすべての例 (特に Qt デザイナーによって生成されたコード) は、例外のチェックをまったく行いません。割り当てられるオブジェクト (通常はウィジェットなど) は小さいため、これが問題になることはほとんどありません。結局のところ、20 バイト程度の割り当てに失敗した場合、問題を解決するためにできることはほとんどありません。
現在、「大きな」(サイズが 1 ページまたは 2 ページを超えるもの) 割り当てを try/catch でラップするポリシーを採用しています。それが失敗した場合は、ユーザーにメッセージを表示します。ほとんどの場合、それよりも小さいメッセージを表示します。アプリをクラッシュさせてstd::bad_alloc
例外を発生させます。
では、これについてどのような学派が考えているのだろうか?
new
すべての操作をチェックするのは良い方針ですか? それとも、失敗する可能性があると私が予想するものだけですか?
また、リソースがはるかに制限される可能性がある組み込み環境を扱う場合は、明らかにまったく別の話です。私はデスクトップ アプリケーションのコンテキストで質問していますが、他のシナリオに関する回答にも興味があります。