2014年5月19日月曜日

開発環境

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 コメント:

コメントを投稿