İçeriğe geç

Loglayıp Devam Eden Yakalama (ARCH2165)

Anahtar python.logging.catch-log-only · Önem info · Kategori logging

İstisnayı yakalayıp loglayan, ardından yeniden yükseltmeden normal akışla devam eden işleyiciler kurtarılamayan hataları gizleyebilir. Loglanmış olsa da, hata sanki gerçekleşmemiş gibi devam edilir.

def transfer(amount):
try:
bank.debit(amount)
except BankError:
logger.error("Borçlandırma başarısız")
bank.credit(amount)
def transfer(amount):
try:
bank.debit(amount)
except BankError:
logger.exception("Borçlandırma başarısız")
raise
bank.credit(amount)

Kurtarılamayan hataları yalnızca loglayıp yutmayın; loglayın ve yeniden yükseltin.