2012年9月23日日曜日

開発環境

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

コメントを投稿