throw Komutu

throw komutu, PHP'de açık bir şekilde istisna fırlatmak için kullanılır. Temel Exception sınıfından türetilmiş bir sınıfın örneği olması gereken bir istisna nesnesini parametre olarak alır. Bu fonksiyon çağrıldığında, mevcut kodun yürütülmesi anında durur ve PHP, istisnayı işlemek için ilgili catch bloğunu bulmaya çalışır.

Sözdizimi

phpthrow new ExceptionClass(message, code, previous);

Örnek

Basit bir istisna oluşturma örneği:

php<?php
  $age = -5;
  if ($age < 0) {
    throw new Exception('Yaş negatif olamaz');
  }
?>

Kodun çalıştırılmasının sonucu:

phpFatal error: Uncaught Exception: Yaş negatif olamaz

Örnek

İstisna işleme ile örnek:

php<?php
  try {
    $res = 10 / 0;
    if (is_infinite($res)) {
      throw new Exception('Sıfıra bölme');
    }
  } catch (Exception $e) {
    echo 'Hata: ' . $e->getMessage();
  }
?>

Kodun çalıştırılmasının sonucu:

php'Hata: Sıfıra bölme'

Örnek

Özel bir istisna kullanımı:

php<?php
  class MyCustomException extends Exception {}
  
  try {
    throw new MyCustomException('Özel hata mesajı');
  } catch (MyCustomException $e) {
    echo 'Özel hata yakalandı: ' . $e->getMessage();
  }
?>

Kodun çalıştırılmasının sonucu:

php'Özel hata yakalandı: Özel hata mesajı'

Ayrıca Bakınız

  • istisnaları işlemek için bir kod bloğu tanımlayan try yapısı,
  • istisnaları yakalayan ve işleyen catch yapısı,
  • tüm istisnalar için temel sınıf olan Exception sınıfı,