October 2025
Intermediate to advanced
572 pages
7h 46m
Japanese
役に立つPythonコードの大半は、特定の問題をその場しのぎで解決するための使い捨てスクリプトから始まります。このようなスクリプトは拡張や転用、再利用を重ねるうちに、その場しのぎの使い捨てコードから、長期的に保守する価値のあるプログラムへと進化していきます。
有用なPythonプログラムを書いた後の重要なステップは、そのコードを本番環境向けにブラッシュアップして盤石な品質に仕上げることです。予期せぬ事態に直面した際にもプログラムが確実に動作するようにすることは、プログラムが正しい機能を持つのと同じぐらい重要です。Pythonにはプログラムのロバストネスを高めて、さまざまな状況に対応できるようにする機能やモジュールが用意されています。
Pythonの例外処理において、何らかのアクションを実行する場所としてtry、except、else、finallyの各ブロックがあります。各ブロックはそれぞれ異なる目的があり、目的に応じてブロックを組み合わせて使います([項目121]参照)。
try/finallyは、発生した例外をそのまま送出しつつ、例外が発生した場合でもクリーンアップ処理を実行したい場合に使います。try/finallyの典型的な例は、ファイルオブジェクトを確実に閉じる処理です([項目82]参照)。
def try_finally_example(filename): print("* Opening file") handle = open(filename, encoding="utf-8") # OSErrorが発生しうる try: print("* Reading ...Read now
Unlock full access