開発環境
- OS X Lion - Apple(OS)
- BBEdit - Bare Bones Software, Inc., Emacs(Text Editor)
- プログラミング言語: Python
『初めてのPython 第3版』(Mark Lutz 著、夏目 大 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-393-7)のVII部(例外)のまとめ演習3.(エラー処理)を解いてみる。
その他参考書籍
まとめ演習3.(エラー処理)
コード(BBEdit)
sample.py
#!/usr/bin/env python3.3
#-*- coding: utf-8 -*-
class MyError(Exception): pass
def oops():
raise MyError("カスタム例外")
# python2.7にあったビルトイン関数applyはpython3.3では廃止されたみたい
def safe(func, *args):
try:
func(*args)
except Exception as err:
import sys, traceback
print("exc_info: {0}".format(sys.exc_info()))
print(type(err), err, err.args)
traceback.print_exc()
if __name__ == '__main__':
safe(oops)
入出力結果(Terminal)
$ ./sample.py
exc_info: (<class '__main__.MyError'>, MyError('カスタム例外',), <traceback object at 0x1029e2d40>)
<class '__main__.MyError'> カスタム例外 ('カスタム例外',)
Traceback (most recent call last):
File "./sample.py", line 11, in safe
func(*args)
File "./sample.py", line 7, in oops
raise MyError("カスタム例外")
MyError: カスタム例外
$
0 コメント:
コメントを投稿