カテゴリ: Python 更新日: 2026/03/14

Pythonの例外処理を完全理解!初心者でもわかるエラースタックトレースの表示と取得方法

Pythonでエラースタックトレースを表示・取得する方法
Pythonでエラースタックトレースを表示・取得する方法

先生と生徒の会話形式で理解しよう

生徒

「Pythonを実行したら、英語がずらっと出て止まってしまいました…これって何ですか?」

先生

「それはエラースタックトレースといって、どこで間違いが起きたかを教えてくれる大切な情報です。」

生徒

「見方が全然わからないんですが、初心者でも理解できますか?」

先生

「大丈夫です。エラーの意味と表示方法を、ゆっくり説明していきましょう。」

1. Pythonのエラーと例外処理とは

1. Pythonのエラーと例外処理とは
1. Pythonのエラーと例外処理とは

Pythonでプログラムを動かしていると、途中で止まってしまうことがあります。これをエラーと呼びます。エラーは、コンピュータが「どうしていいかわからない」と判断した状態です。Pythonでは、このエラーを例外という仕組みで管理しています。

例外処理とは、エラーが起きたときに、原因を調べたり、安全に処理を止めたりするための考え方です。初心者のうちは、エラーが出ると不安になりますが、実はエラーはプログラムを直すためのヒント集なのです。

2. エラースタックトレースとは何か

2. エラースタックトレースとは何か
2. エラースタックトレースとは何か

エラースタックトレースとは、エラーが起きた場所と、そこに至るまでの道順を文字で表示したものです。たとえるなら、「どの道を通って迷子になったか」を教えてくれる地図のようなものです。

Pythonでは、エラーが発生すると自動的にスタックトレースが画面に表示されます。英語が多くて難しく見えますが、重要なのは「ファイル名」「行番号」「エラーの種類」です。

3. 何もしなくても表示されるスタックトレース

3. 何もしなくても表示されるスタックトレース
3. 何もしなくても表示されるスタックトレース

まずは、Pythonでエラーが起きたときの基本的な表示を見てみましょう。以下は、0で割り算をしたときの例です。


number = 10
result = number / 0
print(result)

ZeroDivisionError: division by zero

このように、Pythonは自動でエラー内容を表示します。ZeroDivisionErrorは「0で割ろうとした」という意味のエラーです。

4. tryとexceptでエラーを受け取る

4. tryとexceptでエラーを受け取る
4. tryとexceptでエラーを受け取る

エラースタックトレースは便利ですが、プログラムを途中で止めたくない場合もあります。そのときに使うのがtry-exceptです。これは「エラーが起きそうな処理を試して、失敗したら別の動きをする」という仕組みです。


try:
    number = 10
    result = number / 0
except Exception as e:
    print("エラーが発生しました")
    print(e)

エラーが発生しました
division by zero

ここでは、エラーの内容を変数に入れて表示しています。これだけでも、何が原因かが分かります。

5. tracebackモジュールで詳細を表示する

5. tracebackモジュールで詳細を表示する
5. tracebackモジュールで詳細を表示する

より詳しいエラースタックトレースを表示したい場合は、Python標準のtracebackモジュールを使います。モジュールとは、便利な機能がまとまった道具箱のようなものです。


import traceback

try:
    data = [1, 2, 3]
    print(data[5])
except Exception:
    traceback.print_exc()

IndexError: list index out of range

この方法を使うと、エラーが起きた行番号や処理の流れが分かりやすく表示されます。

6. エラースタックトレースを文字として取得する

6. エラースタックトレースを文字として取得する
6. エラースタックトレースを文字として取得する

エラースタックトレースは、画面に表示するだけでなく、文字として保存することもできます。ログファイルに残したいときに便利です。ログとは、動作の記録メモのことです。


import traceback

try:
    int("abc")
except Exception:
    error_text = traceback.format_exc()
    print(error_text)

このようにすると、エラー内容を変数に入れて、後から保存や送信ができます。

7. スタックトレースを見るときのポイント

7. スタックトレースを見るときのポイント
7. スタックトレースを見るときのポイント

初心者の方は、すべてを理解しようとしなくて大丈夫です。まずは一番下の行に書かれているエラーの種類と、その直前の行番号に注目してください。そこが、問題が起きた場所です。

エラースタックトレースは怖いものではなく、プログラムを直すための道しるべです。何度も見ることで、自然と読み方が身についていきます。

8. 初心者が安心してエラーと向き合うために

8. 初心者が安心してエラーと向き合うために
8. 初心者が安心してエラーと向き合うために

Pythonの学習では、エラーは必ず通る道です。エラースタックトレースを正しく表示・取得できるようになると、原因を自分で調べられるようになります。これは、プログラミングを続ける上でとても大切な力です。

「エラーが出た=失敗」ではなく、「次に進むためのヒントが出た」と考えると、学習が楽になります。

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

関連記事:
カテゴリの一覧へ
新着記事
New1
Python
Pythonでデータベースの接続プールを使う方法を徹底解説!初心者向けPythonデータベース接続プール入門
New2
Python
Pythonの例外チェーンを完全ガイド!初心者でもわかるfrom句を使ったエラーハンドリング
New3
PHP
PHPのCSVファイルの読み書きと文字列処理を基礎から解説!初心者向けガイド
New4
PHP
PHPのメモリ管理と変数の破棄方法をやさしく解説!初心者でもわかるunsetの使い方
人気記事
No.1
Java&Spring記事人気No1
Python
PythonでExcelファイル(.xlsx)を操作する方法を徹底解説!初心者でもできるopenpyxl・pandasの使い方
No.2
Java&Spring記事人気No2
PHP
PHP のフォームデータの受け取り($_POST, $_GET)を完全解説!初心者向けガイド
No.3
Java&Spring記事人気No3
Python
Pythonのコンストラクタ(__init__)の使い方!初心者でもわかるオブジェクトの初期化
No.4
Java&Spring記事人気No4
PHP
PHPの特殊文字とエスケープ処理を完全ガイド!初心者向けにhtmlspecialcharsとhtmlentitiesをやさしく解説
No.5
Java&Spring記事人気No5
PHP
PHPのデバッグ方法を完全ガイド!初心者でもわかるvar_dump・print_r・error_log
No.6
Java&Spring記事人気No6
Python
Pythonで文字列が数値か判定する方法!isdigit()・isnumeric()の違い
No.7
Java&Spring記事人気No7
PHP
PHPのfor, while, do-whileループの使い方を完全ガイド!初心者でもわかる繰り返し処理
No.8
Java&Spring記事人気No8
Python
Pythonの書き方を基本から解説!はじめてのPythonプログラム