Finally İçinde Fırlatma (ARCH3155)
Anahtar typescript.logging.throw-in-finally · Önem error · Kategori logging
finally bloğu içinde istisna fırlatmak, try gövdesinde devam eden istisnayı maskeler. Orijinal hata kaybolur ve yalnızca finally’den gelen hata yayılır.
Hatalı
Bölüm başlığı “Hatalı”function writeReport(file: FileHandle, data: string) { try { file.write(data); } finally { file.close(); // hata fırlatırsa try'daki istisnayı maskeler }}function writeReport(file: FileHandle, data: string) { try { file.write(data); } finally { try { file.close(); } catch (closeErr) { logger.warn("dosya kapatılamadı", { closeErr }); } }}Düzeltme
Bölüm başlığı “Düzeltme”finally içindeki temizleme kodunu kendi try/catch ile sarmalayın; hatayı yaymak yerine loglayın.