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