用户自定义异常

命名(Python

)常应Exception :

>>> class MyError(Exception):

def __init__(self, value): self.value = value

...
...
...
...
...
>>> try:
... raise MyError(2*2)
... except MyError as e:
... print(’My exception occurred, value:’, e.value) ...

My exception occurred, value: 4

>>> raise MyError(’oops!’) Traceback (most recent call last):

  File "<stdin>", line 1, in ?
__main__.MyError: ’oops!’

def __str__(self):
return repr(self.value)

Exception __init__() value args

义任西为了入几一个出几一个义一个:

class Error(Exception):
"""Base class for exceptions in this module.""" pass

class InputError(Error):
"""Exception raised for errors in the input.

    Attributes:
        expression -- input expression in which the error occurred
        message -- explanation of the error

"""

def __init__(self, expression, message):

       self.expression = expression self.message = message

原文地址:https://www.cnblogs.com/wangyue0925/p/9629044.html