開発環境
- OS X Lion - Apple(OS)
- TextWrangler(Text Editor) (BBEditの無料機能制限版、light版)
- Script言語: Python
『初めてのPython 第3版』(Mark Lutz 著、夏目 大 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-393-7) のVII部(例外)のまとめ演習3(エラー処理)を解いてみる。
3.
python3.xでapply関数は廃止されたみたいなので、python2.7を使うことに。
コード(TextWrangler)
#!/usr/bin/env python2.7 #encoding: utf-8 import sys,traceback class MyError(Exception): def __str__(self): return "カスタム例外" def __repr(self): return "カスタム例外" def oops(): raise MyError() def safe(func, *args): try: apply(func,args) except: print("type",sys.exc_type) print("value",sys.exc_value) print("info",sys.exc_info) print("traceback") traceback.print_exc() if __name__ == '__main__': safe(oops)
入出力結果(Terminal)
$ python2.7 sample.py ('type', <class '__main__.MyError'>) ('value', MyError()) ('info', <built-in function exc_info>) traceback Traceback (most recent call last): File "sample.py", line 17, in safe apply(func,args) File "sample.py", line 13, in oops raise MyError() MyError: カスタム例外 $
0 コメント:
コメントを投稿