【Python】例外処理を使ってプログラムを止めずに継続する方法を解説

目次から探す

例外処理の応用例

ファイルの読み込み時の例外処理

ファイルの読み込みは、プログラムでよく行われる操作ですが、読み込むファイルが存在しない場合やアクセス権限がない場合など、エラーが発生する可能性があります。

このような場合に例外処理を使ってエラーをハンドリングすることができます。

以下は、ファイルを読み込む際に例外処理を行うサンプルコードです。

try:
    file = open("sample.txt", "r")
    content = file.read()
    print(content)
except FileNotFoundError:
    print("ファイルが見つかりません")
except PermissionError:
    print("アクセス権限がありません")
finally:
    file.close()

上記のコードでは、tryブロック内でファイルを開き、内容を読み込んでいます。

もしファイルが存在しない場合はFileNotFoundErrorが発生し、アクセス権限がない場合はPermissionErrorが発生します。

それぞれの例外に対して、except節で適切なエラーメッセージを表示しています。

また、finally節では必ずファイルを閉じる処理を行っています。

データベースへの接続時の例外処理

データベースへの接続も、プログラムでよく行われる操作です。

しかし、接続先のデータベースが利用できない場合や接続情報が間違っている場合など、接続時にエラーが発生することがあります。

このような場合にも例外処理を使ってエラーをハンドリングすることができます。

以下は、データベースへの接続時に例外処理を行うサンプルコードです。

import psycopg2
try:
    conn = psycopg2.connect(
        host="localhost",
        database="mydatabase",
        user="myuser",
        password="mypassword"
    )
    cursor = conn.cursor()
    cursor.execute("SELECT * FROM users")
    rows = cursor.fetchall()
    for row in rows:
        print(row)
except psycopg2.OperationalError as e:
    print("データベースへの接続に失敗しました:", e)
finally:
    cursor.close()
    conn.close()

上記のコードでは、psycopg2モジュールを使ってPostgreSQLデータベースに接続しています。

もし接続に失敗した場合はpsycopg2.OperationalErrorが発生し、エラーメッセージを表示しています。

また、finally節では必ず接続を閉じる処理を行っています。

APIの呼び出し時の例外処理

Webアプリケーションなどで外部のAPIを利用する場合、APIの呼び出し時にエラーが発生することがあります。

例えば、APIのエンドポイントが存在しない場合や、APIキーが正しくない場合などです。

このような場合にも例外処理を使ってエラーをハンドリングすることができます。

以下は、APIの呼び出し時に例外処理を行うサンプルコードです。

import requests
try:
    response = requests.get("https://api.example.com/data")
    data = response.json()
    print(data)
except requests.exceptions.RequestException as e:
    print("APIの呼び出しに失敗しました:", e)

上記のコードでは、requestsモジュールを使って外部のAPIにGETリクエストを送信しています。

もしAPIの呼び出しに失敗した場合はrequests.exceptions.RequestExceptionが発生し、エラーメッセージを表示しています。

これらの例外処理の応用例を参考にして、自分のプログラムで適切な例外処理を行うことができるようにしましょう。

ファイルの読み込み時の例外処理では、sample.txtというファイルが存在しない場合やアクセス権限がない場合にエラーメッセージを表示しています。

データベースへの接続時の例外処理では、PostgreSQLデータベースに接続する際にエラーメッセージを表示しています。

APIの呼び出し時の例外処理では、https://api.example.com/dataというAPIのエンドポイントにGETリクエストを送信する際にエラーメッセージを表示しています。

1 2

この記事のページ一覧
  1. 現在のページ
目次から探す