关于Exception Class的问题。

关于Exception Class的问题。

[baif@Baif pydocs]$ cat myerror2.py

[Copy to clipboard] [ - ]
CODE:
#! /bin/py
  # Filename: myerror2.py
  
  class MyError(Exception):
                  def __int__(self, value):
                                  self.value = value;
                  def __str__(self):
                                  return repr(self.value);
  try:
                  raise MyError(4);
  except MyError, e:
                  print e.value;

[baif@Baif pydocs]$ py myerror2.py

[Copy to clipboard] [ - ]
CODE:
Traceback (most recent call last):
    File "myerror2.py", line 12, in ?
      print e.value;
  AttributeError: MyError instance has no attribute 'value'

不行? 我换import...

  [baif@Baif pydocs]$ cat myerror.py

[Copy to clipboard] [ - ]
CODE:
#! /bin/py
  # Filename: myerror.py
  
  class MyError(Exception):
                  def __int__(self, value):
                                  self.value = value;
                  def __str__(self):
                                  return repr(self.value);

[baif@Baif pydocs]$ py

[Copy to clipboard] [ - ]
CODE:
Python 2.4.1 (#1, May 16 2005, 15:19:29)
  [GCC 4.0.0 20050512 (Red Hat 4.0.0-5)] on linux2
  Type "help", "copyright", "credits" or "license" for more information.
  >>> import myerror
  >>> dir(myerror.MyError)
  ['__doc__', '__getitem__', '__init__', '__int__', '__module__', '__str__']
  >>> try:
  ...             raise myerror.MyError(4);
  ... except myerror.MyError, e:
  ...             print e.value;
  ...
  Traceback (most recent call last):
    File "<stdin>", line 4, in ?
  AttributeError: MyError instance has no attribute 'value'

还是不行啊
再试试。。。

[baif@Baif ~]$ py

[Copy to clipboard] [ - ]
CODE:
Python 2.4.1 (#1, May 16 2005, 15:19:29)
[GCC 4.0.0 20050512 (Red Hat 4.0.0-5)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> class MyError(Exception):
...             def __init__(self, value):
...                             self.value = value;
...             def __str__(self):
...                             return repr(self.value);
...
>>> try:
...             raise MyError(4);
... except MyError, e:
...             print e.value;
...
4
>>>

行是行了,就是搞不清楚为什么会这样


QUOTE:
原帖由 baif 于 2005-11-28 11:07 发表
[baif@Baif pydocs]$ cat myerror2.py[code]
#! /bin/py
  # Filename: myerror2.py
  
  class MyError(Exception):
                  def __int__(self, value):
                                  self.val ...

def __int__(self,value):#拼写错误


真是还不如自己输入代码。