開発環境
- OS X Lion - Apple(OS)
- TextWrangler(Text Editor) (BBEditの無料機能制限版、light版)
- Script言語: Python
『初めてのPython 第3版』(Mark Lutz 著、夏目 大 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-393-7) のVII部(例外)の28章(文字列例外とクラス例外)練習問題4を解いてみる。
その他参考書籍
4.
__repr__というフックメソッドを使って指定すればいい。
コード(TextWrangler)
sample.py
#!/usr/bin/env python
#-*- coding: utf-8 -*-
class MyError(Exception):
def __repr__(self):
return "オリジナルエラーメッセージ"
def f():
raise MyError()
if __name__ == '__main__':
try:
f()
except MyError:
print("例外発生")
import sys
print(sys.exc_info())
入出力結果(Terminal)
$ ./sample.py 例外発生 (<class '__main__.MyError'>, オリジナルエラーメッセージ, <traceback object at 0x10df5fcb0>) $
本書の挙動といろいろ違ってよく分からなくなってきた。。python2.xとpython3.xでいろいろ挙動が違うからかな〜
0 コメント:
コメントを投稿