開発環境
- 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 コメント:
コメントを投稿