開発環境
- OS X Mavericks - Apple(OS)
- Emacs (CUI)、BBEdit - Bare Bones Software, Inc. (GUI) (Text Editor)
- Python (プログラミング言語)
Learning Python (Mark Lutz (著)、Oreilly & Associates Inc)のPART VII.(Exceptions and Tools)、Test Your Knowledge、3.(Error handling)を解いてみる。
その他参考書籍
3.(Error handling)
コード(BBEdit)
sample.py
#!/usr/bin/env python3
#-*- coding: utf-8 -*-
def safe(func, *pargs, **kargs):
try:
func(*pargs, **kargs)
except:
import sys
import traceback
print(sys.exc_info())
traceback.print_exc()
class MyError(Exception): pass
def oops():
raise MyError('my error')
if __name__ == '__main__':
safe(oops)
入出力結果(Terminal)
$ ./sample.py
(<class '__main__.MyError'>, MyError('my error',), <traceback object at 0x108e4d148>)
Traceback (most recent call last):
File "./sample.py", line 6, in safe
func(*pargs, **kargs)
File "./sample.py", line 16, in oops
raise MyError('my error')
MyError: my error
$
0 コメント:
コメントを投稿