CodeBlanks Logo Icon CodeBlanks

Özet - Hata yönetimi

PHP kursu · Orta seviye · Ders 104/115

try/catch, throw ve özel istisnayla yaş kontrolü yapan fonksiyon yazarsın.

Özet - Hata yönetimi

Bu grupta istisna yönetiminin beş taşını öğrendin: try/catch ile yakalama, throw ile fırlatma, Exception yöntemleri, error_reporting ile seviye seçme ve özel istisna sınıfları yazma.

Bunları birleştirerek sağlam bir yaş kontrolü kurabilirsin: özel istisna tanımlar, koşul sağlanmazsa fırlatır, try/catch ile yakalar ve kullanıcıya anlamlı mesaj gösterirsin.

Son adımda bu akışı bir araya getiren bir mini uygulama var.

Yaş kontrolünü birleştir

Bir yaş kontrolü üç parçadan oluşur: tanımla (özel istisna), fırlat (koşul sağlanmazsa) ve yakala (try/catch ile).

Önce InvalidAgeException extends Exception yaz. Sonra verifyAge(int $age) fonksiyonu içinde yaş 18'den küçükse throw new InvalidAgeException(...) çağır.

Son olarak try { verifyAge(15); } ile çağır ve catch (InvalidAgeException $e) ile mesajı yazdır.

Uygulama Özet - Yaş kontrolü mini uygulaması

InvalidAgeException sınıfını extends Exception ile tanımla. verifyAge(int $age): void fonksiyonu yaz: yaş 18'den küçükse throw new InvalidAgeException("Yaş çok küçük") fırlat. try/catch ile verifyAge(15) çağır, hatayı yakala ve mesajı yazdır.

Örnek çözümü göster
void yaz; if ($age < 18) throw new InvalidAgeException("Yaş çok küçük") çağır. Sonra try { verifyAge(15); } catch (InvalidAgeException $e) { echo $e->getMessage() . "\n"; } yaz.
Örnek çözüm:
<?php
// InvalidAgeException sınıfını ve verifyAge fonksiyonunu yaz
class InvalidAgeException extends Exception {
}

function verifyAge(int $age): void {
    if ($age < 18) {
        throw new InvalidAgeException("Yaş çok küçük");
    }
    echo "Hoş geldiniz\n";
}

try {
    verifyAge(15);
} catch (InvalidAgeException $e) {
    echo $e->getMessage() . "\n";
}

Kendini test et

  1. Beş taşı eşleştir

    try/catch
    İstisnayı yakalar
    throw
    İstisnayı fırlatır
    getMessage()
    Mesajı okur
    error_reporting
    Seviyeleri seçer
    extends Exception
    Özel sınıf türetir
  2. Yaş kontrolünde fırlat

    <?php
    function verifyAge(int $age): array {
        if ($age < 18) {
            ____ new InvalidAgeException("Yaş çok küçük");
        }
        return ['ok' => true];
    }
    
    Cevabı göster
    <?php
    function verifyAge(int $age): array {
        if ($age < 18) {
            throw new InvalidAgeException("Yaş çok küçük");
        }
        return ['ok' => true];
    }
    

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