開発環境
- 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.
コード(TextWrangler)
sample.py
#!/usr/bin/env python2.7 #-*- coding: utf-8 -*- class MyError:pass def oops(): raise MyError() def safe(func, *args): try: apply(func,args) except: import sys, traceback print("sysモジュールのexc_info") print(sys.exc_info()) print("tracebackモジュールのprint_exc") traceback.print_exc() finally: print("終了") if __name__ == '__main__': safe(oops)
入出力結果(Terminal)
$ ./sample.py sysモジュールのexc_info (<class __main__.MyError at 0x106062050>, <__main__.MyError instance at 0x106085320>, <traceback object at 0x1060853f8>) tracebackモジュールのprint_exc Traceback (most recent call last): File "./sample.py", line 10, in safe apply(func,args) File "./sample.py", line 7, in oops raise MyError() MyError: <__main__.MyError instance at 0x106085320> 終了 $
メモ: python3.xでのクラス例外でのデータの渡し方とかいろいろ、まだよく分かってないっぽい。
0 コメント:
コメントを投稿