Özet - Hata yönetimi
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
-
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
-
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]; }