Throw komandasi

throw komandasi PHP-da istisnoni aniq chiqarish uchun ishlatiladi. U bitta parametrni qabul qiladi - istisno ob'ekti, bu Exception asosiy klassidan meros qolgan klassning namunasi bo'lishi kerak. Ushbu funksiya chaqirilganda, joriy kodning bajarilishi darhol to'xtaydi va PHP istisnoni qayta ishlash uchun mos keladigan catch blokini topishga harakat qiladi.

Sintaksis

phpthrow new ExceptionClass(message, code, previous);

Misol

Istisno yaratishning oddiy misoli:

php<?php
  $age = -5;
  if ($age < 0) {
    throw new Exception('Yosh manfiy bo\'lishi mumkin emas');
  }
?>

Kodni bajarish natijasi:

phpFatal error: Uncaught Exception: Yosh manfiy bo'lishi mumkin emas

Misol

Istisnoni qayta ishlash misoli:

php<?php
  try {
    $res = 10 / 0;
    if (is_infinite($res)) {
      throw new Exception('Nolga bo\'lish');
    }
  } catch (Exception $e) {
    echo 'Xato: ' . $e->getMessage();
  }
?>

Kodni bajarish natijasi:

php'Xato: Nolga bo'lish'

Misol

Foydalanuvchi istisnosidan foydalanish:

php<?php
  class MyCustomException extends Exception {}
  
  try {
    throw new MyCustomException('Maxsus xato xabari');
  } catch (MyCustomException $e) {
    echo 'Maxsus xato ushlandi: ' . $e->getMessage();
  }
?>

Kodni bajarish natijasi:

php'Maxsus xato ushlandi: Maxsus xato xabari'

Shuningdek qarang

  • try konstruksiyasi,
    bu istisnolarni qayta ishlash uchun kod blokini belgilaydi
  • catch konstruksiyasi,
    bu istisnolarni ushlaydi va qayta ishlaydi
  • Exception klassi,
    bu barcha istisnolar uchun asosiy klass hisoblanadi