Finally İçinde Fırlatma (ARCH7155)
Anahtar php.logging.throw-in-finally · Önem error · Kategori logging
finally bloğu içinde istisna fırlatmak, try gövdesinde devam eden istisnayı maskeler ve asıl hatanın kaybolmasına yol açar.
Hatalı
Bölüm başlığı “Hatalı”<?phptry { $this->process($data);} finally { if (!$this->stream->close()) { throw new \RuntimeException('Close failed'); }}<?phptry { $this->process($data);} finally { if (!$this->stream->close()) { $this->logger->warning('Stream close failed'); }}Düzeltme
Bölüm başlığı “Düzeltme”finally içinde fırlatmak yerine hatayı loglayın; orijinal istisnanın yayılmasına izin verin.