例外処理は、PCAP (Certified Associate in Python Programming) 認定試験にとって重要な概念です。これは、コードの実行中に発生する可能性のあるエラーを処理し、回復できるメカニズムです。
この学習ガイドでは、Python での例外処理の基本概念と、PCAP 認定試験の準備に役立つ例について説明します。
Python の例外処理とは何ですか?
Python の例外処理は、プログラムの実行中に発生するエラーを特定、処理、および回復するプロセスです。これは、予期しないエラーが発生したときにプログラムがクラッシュするのを防ぐのに役立ち、また、これらのエラーの特定とデバッグにも役立ちます。
Python Try...ブロックを除く
Try...Except ブロックは、Python で例外を処理する主な方法です。その構文は次のとおりです:
try: # code that may raise an exception except: # code to handle the exception
このブロックでは、例外を引き起こす可能性のあるコードが try ブロックに配置され、Except ブロックが発生した例外をキャッチして処理します。すべての try ブロックの後には、Except ブロックが続く必要があることに注意することが重要です。
例: ZeroDivisionError の処理
try: numerator = 10 denominator = 0 result = numerator/denominator print(result) except: print("Error: Denominator cannot be 0.") # Output: Error: Denominator cannot be 0.
この例では、数値を 0 で除算します。これにより、ZeroDivisionError が発生します。コードを try ブロック内に配置することで、Exception ブロック内のエラーをキャッチし、それに応じて処理できます。
Python での特定の例外のキャッチ
発生する可能性のある例外を処理することに加えて、Exception ブロックを使用して特定の例外をキャッチすることもできます。これにより、さまざまな種類のエラーをさまざまな方法で処理できます。以下に例を示します:
try: even_numbers = [2,4,6,8] print(even_numbers[5]) except ZeroDivisionError: print("Denominator cannot be 0.") except IndexError: print("Index Out of Bound.") # Output: Index Out of Bound
このコードでは、存在しないインデックス 5 の要素にアクセスしようとします。その結果、IndexError が発生します。 2 番目の例外ブロックは、この特定のエラーを捕捉して処理します。 Try ブロックでエラーが発生しなかった場合、Except ブロックはスキップされます。
Python Else 句を試してみる
try ブロックがエラーなしで実行された場合にのみ、コードの特定のブロックを実行したい場合があります。これを実現するには、try ブロックの後にオプションの else キーワードを追加します。例を見てみましょう:
# program to print the reciprocal of even numbers try: num = int(input("Enter a number: ")) assert num % 2 == 0 # The assert statement checks that num is even. except: print("Not an even number!") else: reciprocal = 1/num print(reciprocal) Run Code Output:
奇数を入力した場合:
数字を入力してください: 1
偶数ではありません!
偶数を入力すると、逆数が計算されて表示されます。
数字を入力してください: 4
0.25
ただし、0 を入力すると、else ブロック内のコードが先行する else ブロックによって処理されないため、ZeroDivisionError が発生します。
数字を入力してください: 0
トレースバック (最後の呼び出し):
ファイル ""、7 行目、
逆数 = 1/数値
ZeroDivisionError: ゼロ除算
ここで、コード内のassert ステートメントは、num が偶数かどうかをチェックします。そうでない場合は、AssertionError が発生し、Exception ブロックによって捕捉されます。
注: else ブロック内の例外は、先行する else ブロックによってキャッチされません。
Python を試してみましょう...ついに
Python のfinally ブロックは、例外が発生するかどうかに関係なく、常に実行されます。これは、コード内でエラーが発生したかどうかに関係なく、ファイルやデータベース接続を閉じるなどのクリーンアップ コードを処理する場合に役立ちます。以下に例を示します:
try: numerator = 10 denominator = 0 result = numerator/denominator print(result) except: print("Error: Denominator cannot be 0.") finally: print("This is the finally block.")
コードを実行
出力:
エラー: 分母を 0 にすることはできません。
これが最終ブロックです。
この例では、finally ブロック内のコードは、エラーが発生するかどうかに関係なく、常に実行されます。
結論
例外処理は、PCAP 認定試験の準備をしている人にとって重要なスキルです。この学習ガイドでは、try...excel ブロック、特定の例外のキャッチ、else 句の使用、finally ブロックなど、Python での例外処理の基本について説明しました。これらの概念を理解して習得すると、堅牢でエラーのない Python アプリケーションを作成できるようになり、PCAP 認定試験の準備が整います。
以上がPCAP 認定試験の例外処理学習ノートの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。