初めてのPython(29章)

勉強を始めて8ヶ月、やっと最後まで来た。
次は何をしようかな。
とりあえずの候補は

sys.exc_info

直近で発生した例外についての情報を取得するための関数
復帰値は(type, value, traceback)

  • type : 発生した例外のクラス
  • value : 例外のインスタンス
  • traceback : 例外が発生した時のトレース情報、情報を見るにはtracebackモジュールを使用する
[kobakoba0723@fedora13-intel64 exception]$ cat my_exception.py 
#!/usr/bin/env python

import sys
import traceback

class MyException(Exception):
  pass

try:
  raise MyException, 'hogehoge'
except MyException:
  exception = sys.exc_info()
  print 'type:', exception[0]
  print 'value:', exception[1]
  print 'traceback:', exception[2]
  print '\t', traceback.print_tb(exception[2])

[kobakoba0723@fedora13-intel64 exception]$ python my_exception.py 
type: <class '__main__.MyException'>
value: hogehoge
traceback: <traceback object at 0x7fab5cb2f830>
  File "my_exception.py", line 10, in <module>
    raise MyException, 'hogehoge'
	None
[kobakoba0723@fedora13-intel64 exception]$ 

プログラムを作るためのツール

  • ドキュメント
    • PyDoc
    • docstring
  • テスト
    • PyUnit(unittestモジュール)
    • doctest
  • デバッグ
    • デバッガ(pdb)
    • プロファイラ(profile, timeモジュール)

テストとかデバッグのやり方って全然知らないからちゃんと勉強したいな。