0Pricing
Python Academy · レッスン

try、except、finallyを使う

例外を捕捉して対応するためのエラー処理ブロックの使い方を身につけます。

「try、except、finallyを使う」はCoddyKit上の無料Python Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPython Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Python Academyコースには全4レッスンが含まれています。

try、except、finallyの概要

try、except、finallyの概要

Pythonでは、try、except、finally ブロックを使用してエラーを処理します。これらのブロックを使うと、例外を処理し、リソースを適切に解放できます。

このレッスンでは、これらのブロックを効果的に使用する方法を学びます。

try、except、finallyを使う — イラスト1

tryブロック

tryブロック

try ブロックには、例外を発生させる可能性のあるコードを記述します。例外が発生すると、Pythonは try ブロックの実行を停止し、except ブロックに移ります。

# Example of a try block
try:
    x = 10 / 0  # This will raise a ZeroDivisionError
except ZeroDivisionError:
    print("You cannot divide by zero.")

exceptブロック

exceptブロック

except ブロックは、try ブロックで発生した例外を捕捉して処理するために使用します。

# Handling a specific exception
try:
    value = int("abc")  # This will raise a ValueError
except ValueError:
    print("Invalid input. Please enter a number.")

複数の例外の処理

複数の例外の処理

複数の except ブロックを指定すると、複数の例外を処理できます。

# Handling multiple exceptions
try:
    file = open("nonexistent.txt", "r")
except FileNotFoundError:
    print("The file does not exist.")
except PermissionError:
    print("You don’t have permission to open this file.")

1つのブロックで複数の例外を処理する

1つのブロックで複数の例外を処理する

タプルを使用すると、1つの except ブロックで複数の例外を処理できます。

# Handling multiple exceptions in one block
try:
    x = int("abc")
    y = 10 / 0
except (ValueError, ZeroDivisionError) as e:
    print(f"An error occurred: {e}")

finallyブロック

finallyブロック

finally ブロックは、例外が発生したかどうかにかかわらず、必ず実行されます。通常は、後片付けの処理に使用します。

# Using finally for cleanup
try:
    file = open("example.txt", "r")
    content = file.read()
except FileNotFoundError:
    print("The file does not exist.")
finally:
    print("Closing the file.")

elseブロック

elseブロック

try ブロックで例外が発生しなかった場合、else ブロックが実行されます。

# Using else to execute code if no exceptions occur
try:
    result = 10 / 2
except ZeroDivisionError:
    print("You cannot divide by zero.")
else:
    print(f"The result is {result}")

例外のログ記録

例外のログ記録

例外をログに記録することは、アプリケーションのデバッグや監視に役立つよい習慣です。

# Logging exceptions
import logging

try:
    x = 10 / 0
except ZeroDivisionError as e:
    logging.error(f"An error occurred: {e}")

try、except、finallyでよくある間違い

try、except、finallyでよくある間違い

次のような間違いは避けてください。

  • except ブロックで特定の例外を指定しないこと。
  • 適切なログ記録や処理を行わずに、例外を無視すること。
  • with 文で処理できる操作に対して、不要な finally ブロックを使用すること。

何を学びましたか

何を学びましたか

このレッスンでは、次のことを学びました。

  • 例外を処理するために、try と except ブロックを使用する方法。
  • 後片付けや追加のロジックに finally と else ブロックを使用する方法。
  • デバッグのために例外をログに記録することの重要性。

よくできました。次のトピックに進みましょう。

try、except、finallyを使う — イラスト11

よくある質問

「try、except、finallyを使う」レッスンは無料ですか?

はい。「try、except、finallyを使う」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Python Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Python Academyコースには全4レッスンが含まれています。

「try、except、finallyを使う」で何を学びますか?

例外を捕捉して対応するためのエラー処理ブロックの使い方を身につけます。 ブラウザで直接実行するハンズオンコードでPython Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Python Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのPython Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「try、except、finallyを使う」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このPython Academyレッスンでコードを書いて実行できますか?

はい。すべてのPython Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. エラーを理解する
  2. try、except、finallyを使う
  3. 例外を発生させる
  4. カスタム例外の作成
← Python Academyに戻る