2016-01-15 111 views
0

我有一個簡單的try和except語句。不過,我想使用記錄器異常來記錄異常。對於logger.exception,只有一行代碼的最佳方式是什麼?在異常基類中?記錄自定義異常Python

try: 
    do_something() 
except CustomBaseExecption, exc: 
    logger.exception("Exception Raised:") 
    raise GeneralError(exc) 
except Exception as exc: 
    logger.exception("Exception Raised:") 
    raise GeneralError("Unknown Error") 

回答

1

只有在兩個代碼塊之間改變的事情是GeneralError參數。讓我們在那裏放一個條件。

try: 
    do_something() 
except Exception as exc: 
    logger.exception("Exception Raised:") 
    raise GeneralError(exc if isinstance(exc, CustomBaseExecption) else "Unknown Error")