2012年9月26日水曜日

開発環境

『初めての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 コメント:

コメントを投稿