Exception sınıfı
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
-
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
-
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(); } -
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.