CodeBlanks Logo Icon CodeBlanks

Exception sınıfı

PHP kursu · Orta seviye · Ders 101/115

Exception sınıfının getMessage(), getCode() ve getTrace() methodlarını öğrenirsin.

Exception sınıfının yöntemleri

Exception nesnesi, hata hakkında bilgi verir. Beş yaygın yöntem (method) kullanırsın.

getMessage() mesajı, getCode() hata kodunu verir. getFile() ve getLine() hatanın nerede fırlatıldığını gösterir. getTrace() ise çağrı yığınını dizi olarak döndürür.

Bunları catch bloğunda çağırıp hatayı raporlayabilir veya log'a yazabilirsin.

Kod ve ikinci argüman

Exception yapıcısının ikinci argümanı sayısal bir koddur: new Exception('Yetkisiz', 403). Bu kod HTTP durum kodu, hata numarası veya uygulama tanımlı herhangi bir değer olabilir.

catch bloğunda $e->getCode() ile okunur. Kod, hatayı programatik olarak ayırt etmek için kullanışlıdır; mesaj ise insan içindir ve doğrudan gösterilir.

Uygulama İstisna bilgilerini yazdır

try bloğu içinde throw new Exception("Geçersiz kullanıcı", 403) fırlat. catch (Exception $e) bloğunda getMessage() ve getCode() sonuçlarını satır satır yazdır.

Örnek çözümü göster
try bloğu içinde throw new Exception("Geçersiz kullanıcı", 403) çağır. catch (Exception $e) bloğunda echo $e->getMessage() . "\n"; ve echo $e->getCode() . "\n"; yaz.
Örnek çözüm:
<?php
// throw ile istisna fırlat ve getMessage/getCode ile yazdır
try {
    throw new Exception("Geçersiz kullanıcı", 403);
} catch (Exception $e) {
    echo $e->getMessage() . "\n";
    echo $e->getCode() . "\n";
}

Kendini test et

  1. Yöntemleri eşleştir

    getMessage()
    Hata mesajını verir
    getCode()
    Hata kodunu verir
    getTrace()
    Çağrı yığınını verir
    getFile()
    Dosya adını verir
  2. Kodu oku

    <?php
    try {
        throw new Exception("Hata", 42);
    } catch (Exception $e) {
        echo $e->____();
    }
    
    Cevabı göster
    <?php
    try {
        throw new Exception("Hata", 42);
    } catch (Exception $e) {
        echo $e->getCode();
    }
    
  3. new Exception('Hata', 42) çağrısında 42 neyi belirtir?

    • Hata kodunu
    • Hata satır numarasını
    • Hata dosyasını
    • Hata önceliğini
    Cevabı göster

    Hata kodunu — Doğru. 42 Exception yapıcısının ikinci argümanıdır; getCode() ile okunur.

Orta seviye bölümündeki tüm dersler