Python | ブラウザ上にエラーを表示する

2023-02-26Python WEBアプリ開発,Python

Python | ブラウザ上にエラーを表示する

PythonをWEBブラウザに出力する時に、発生したエラーの内容をブラウザ上に表示する方法とサンプルコードを紹介しています。

通常WEBブラウザでの実装時はエラーがあると白紙、エラー内容によってスルーされ続きの処理が実行されますが、「cgitb」モジュールをインポートすることでブラウザにてエラーの内容を表示・確認することが可能になります。

※ 500 Internal Server Errorとなる文法エラーの場合はそのままです。

cgitbモジュールのインポートと有効化

「cgitb」モジュールのインポートして有効化します。

ブラウザ表示用の「cgitb」モジュールのインポートしてenable()で有効化したサンプルコードになります。

import cgitb

cgitb.enable()

ブラウザにエラーを表示した結果

以下のコードは「cgitb」モジュールをインポートして有効化した後、変数の未定義エラー「NameError」を記述しています。

import cgitb

cgitb.enable()

print "Content-Type: text/html; charset=UTF-8\n\n" # 文字化け回避用

if variable:
    pass

このコードをブラウザで実行した場合、以下のように表示されます。

cgitbモジュールでブラウザにPythonのコードエラーを表示した結果
cgitbモジュールでブラウザにコードエラーを表示した結果