C ++では、例外が存在する場合にコードを堅牢にするために、いくつかの単純な操作が失敗しない(したがって、例外をスローしない)ことが保証されているという事実に依存する必要があります。これらの操作の例には、整数の割り当てや標準コンテナーのスワッピングが含まれます。
この失敗のない保証を提供するPythonの操作はありますか?
Python は C や C++ よりも高水準の言語です。裏でコードが実行される可能性があり、上書きされた可能性のある現在の値を検索することから除外される名前はありません。決して例外を発生させないことが保証されているいくつかの操作を特定することは可能かもしれませんが、操作のセットが非常に小さいため、何かがいつでも例外を発生させる可能性があるという通常の仮定よりもメリットがないのではないかと思います。
また、これらの操作を特定するには、Python 環境を制限する必要があります。たとえば、Python プログラムのすべての行に対して呼び出される trace 関数を割り当てることができます。適切に作成されたトレース関数を使用すると、1+1 でも例外が発生する可能性があります。では、トレース機能はないと思いますか? ビルトインの再定義についてはどうですか?
実際には、Python には別の考え方を採用する必要があります。例外は発生し、それが何であるかを前もって知ることはできません。Mark Amery がコメントで述べているように、C++ は、Python では問題にならないメモリ リークや初期化されていない変数を回避する必要があります。