367 of 410 menu

ErrorException Sınıfı

ErrorException sınıfı, temel Exception sınıfından miras alır ve PHP hatalarını istisnalara dönüştürmek için kullanılır. Standart istisna işlevselliğine hatanın önem derecesi (severity) bilgisini ekler. Bu sınıf özellikle set_error_handler işleviyle kullanıldığında oldukça faydalıdır.

Sözdizimi

new ErrorException( string $message = "", int $code = 0, int $severity = E_ERROR, string $filename = __FILE__, int $lineno = __LINE__, Throwable $previous = null );

Örnek

Bir ErrorException oluşturalım ve işleyelim:

<?php try { throw new ErrorException('Kritik hata', 0, E_ERROR); } catch (ErrorException $e) { echo 'Hata: ' . $e->getMessage(); echo ' Önem Derecesi: ' . $e->getSeverity(); } ?>

Kodun çalıştırılma sonucu:

'Hata: Kritik hata Önem Derecesi: 1'

Örnek

Standart PHP hatalarını istisnalara dönüştürelim:

<?php function errorHandler($severity, $message, $file, $line) { throw new ErrorException($message, 0, $severity, $file, $line); } set_error_handler('errorHandler'); try { strpos(); // Yanlış argüman sayısı } catch (ErrorException $e) { echo 'Yakalanan istisna: ' . $e->getMessage(); echo ' dosyasında: ' . $e->getFile(); echo ' satırında: ' . $e->getLine(); } ?>

Kodun çalıştırılma sonucu (örnek):

'Yakalanan istisna: strpos() en az 2 parametre bekliyor, 0 verildi /dosya/yolu/file.php dosyasında 10. satırda'

Örnek

Hatanın önem derecesi hakkında bilgi alalım:

<?php try { throw new ErrorException('Uyarı mesajı', 0, E_WARNING); } catch (ErrorException $e) { echo 'Önem derecesi: ' . $e->getSeverity(); echo ' Uyarı mı: ' . ($e->getSeverity() === E_WARNING ? 'evet' : 'hayır'); } ?>

Kodun çalıştırılma sonucu:

'Önem derecesi: 2 Uyarı mı: evet'

Ayrıca Bakınız

  • sınıf Exception,
    PHP'deki tüm istisnalar için temel sınıf
  • işlev set_error_handler,
    özel hata işleyici tanımlayan işlev
Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet