2017-03-17 97 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