エラー入門

開発者向け中級 Python

Jasmin Ludolf

Senior Data Science Content Developer

エラーとは?

  • ルールに違反するコード
  • エラー = 例外
  • プログラムを終了させる!

いくつかのPython例外の階層

1 https://docs.python.org/3/library/exceptions.html#exception-hierarchy
開発者向け中級 Python

TypeError(型エラー)

  • 互換性のないデータ型
"Hello" + 5

文字列と整数を結合できないことを示すTypeErrorの出力

開発者向け中級 Python

ValueError(値エラー)

float("Hello")

文字列「Hello」をfloatに変換できないことを示すValueError出力

  • 値が許容範囲内にない
float("2")

エラーなしで結果 2.0 を表示している出力

開発者向け中級 Python

トレースバック

トレースバックメッセージ

開発者向け中級 Python

トレースバック

エラーの種類を強調表示したトレースバックメッセージ

開発者向け中級 Python

トレースバック

エラーの原因となったコードを強調表示するトレースバックメッセージ

開発者向け中級 Python

パッケージ内のコード

  • パッケージには他者のコードが含まれる(例:カスタム関数)
  • ソースコードとして知られる
  • pip install <package>:ソースコードをローカル環境にダウンロードする
  • pandas の pd.read_csv() 関数:カスタム関数用に書かれたコードを裏で実行する
開発者向け中級 Python

パッケージからのトレースバック

# Import pandas package
import pandas as pd

# Create pandas DataFrame                 
products = pd.DataFrame({"ID": "ABC1",
                         "price": 29.99})

# Try to access the non-existent "tag" column
products["tag"]
開発者向け中級 Python

パッケージからのトレースバック

存在しない列で pandas DataFrame をサブセット化しようとした際のトレースバック

開発者向け中級 Python

パッケージからのトレースバック

エラー実行時にエラーを発生させたファイルとKeyErrorのエラー種別を示すトレースバック

開発者向け中級 Python

パッケージからのトレースバック

3803行目がハイライトされたトレースバック

開発者向け中級 Python

パッケージからのトレースバック

base.py が強調表示されたトレースバック

開発者向け中級 Python

パッケージからのトレースバック

KeyError が強調表示されたトレースバック

開発者向け中級 Python

パッケージからのトレースバック

エラーの原因となったコード内の行を示すトレースバック

開発者向け中級 Python

パッケージからのトレースバック

エラーを意図的に返すコードを示すトレースバック

開発者向け中級 Python

パッケージからのトレースバック

強調されたトレースバック

開発者向け中級 Python

練習しましょう!

開発者向け中級 Python

Preparing Video For Download...