İçeriğe geç

Yeniden Fırlatmadan Yalnızca Loglama (ARCH4165)

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

İstisnayı loglayıp ardından yeniden fırlatmadan normal akışa devam etmek, kurtarılamaz bir hatanın kasıtsız olarak yutulması anlamına gelebilir. Çağıran taraf işlemin başarısız olduğunu fark etmez.

public void transfer(Account from, Account to, BigDecimal amount) {
try {
ledger.move(from, to, amount);
} catch (LedgerException e) {
log.error("Transfer başarısız", e);
}
}
public void transfer(Account from, Account to, BigDecimal amount) {
try {
ledger.move(from, to, amount);
} catch (LedgerException e) {
log.error("Transfer başarısız", e);
throw new TransferException(e);
}
}

Kurtarılamaz hatalarda istisnayı loglamanın yanında yeniden fırlatın; yutma kasıtlıysa nedenini açıkça belgeleyin.