Yeniden Fırlatmada Yığın İzi Kaybı (ARCH4154)
Anahtar java.logging.rethrow-without-cause · Önem warning · Kategori logging
İşleyici içinde yeni bir istisna fırlatırken orijinalini neden (cause) olarak iletmemek, kök nedene giden yığın izini yok eder. Hatanın gerçek kaynağı kaybolur ve teşhis çok zorlaşır.
Hatalı
Bölüm başlığı “Hatalı”try { return repository.load(id);} catch (SQLException e) { throw new ServiceException("Yükleme başarısız");}try { return repository.load(id);} catch (SQLException e) { throw new ServiceException("Yükleme başarısız", e);}Düzeltme
Bölüm başlığı “Düzeltme”Yeni istisnayı oluştururken orijinal istisnayı cause argümanı olarak geçirin.