2017-03-17 135 views
0

删除全名我已经定义我自己的功能Python异常:由用户定义的异常

class MyError(Exception): 
def __init__(self, value): 
    self.value = value 
def __str__(self): 
    return repr(self.value) 

当我提出来,我得到:

Traceback (most recent call last): 

--snip-- 

    raise MyError("Test") 
src.exceptions.MyError: 'Test' 

我如何会删除“SRC。异常“,并保持实际的异常名称,如收件箱中的异常?

回答

0

在python中定义自定义异常的最佳方法是从Exception派生一个类,然后将此类用作Base类来定义用户定义的异常。

class MyErrorBase(Exception): 
    pass 


class MyError(MyErrorBase): 

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

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

try: 
    raise MyError("Test") 
except MyError, exc: 
    print exc 

这会给输出:

Test