・関数内のexcept内で、raiseを行うことで例外を呼び出し元に送信することができる。
呼び出し元に例外を送信するサンプル
hoge.py
# !/usr/bin/python
# -*- Coding: utf-8 -*-
class Hoge(object):
def huga():
try:
raise TypeError('TYPE ERROR!')
except Exception as e:
raise # 呼び出し元に送信
try:
huga()
except Exception as e:
print(type(e)) # 1回目のエラー出力
・関数内でエラーを出力して、呼び出し元に例外を送信することも可能。
関数内でエラー出力後、呼び出し元に例外を送信するサンプル
hoge.py
# !/usr/bin/python
# -*- Coding: utf-8 -*-
class Hoge(object):
def huga():
try:
raise TypeError('TYPE ERROR!')
except Exception as e:
print(type(e)) # 1回目のエラー出力
raise # 呼び出し元に再送
try:
huga()
except Exception as e:
print(type(e)) # 2回目のエラー出力
上記のexcept内にloggingを使用すれば、関数内のローカル変数をログに出力を行い、呼び出し元で別のログ出力することができる。