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

2020-01-22Python,Python エラー関連

Pythonでブラウザにエラーを表示する方法

PythonをWEBブラウザで実行した時に、エラーの内容を表示する方法です。

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

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

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

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

import cgitb
cgitb.enable()

ブラウザ表示用のcgitbモジュールのインポートして有効化したサンプルコード

#!/usr/bin/python
# -- coding: utf-8 --

import cgitb
cgitb.enable()

print "Content-Type: text/html; charset=UTF-8\n\n"

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

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

#!/usr/bin/python
# -- coding: utf-8 --

import cgitb
cgitb.enable()

print "Content-Type: text/html; charset=UTF-8\n\n"

if variable:
    pass

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

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

参考:cgitb — CGI スクリプトのトレースバック管理機構 — Python 3.8.1 ドキュメント

2020-01-22Python,Python エラー関連

Posted by Yousuke.U