Komanda throw

Komanda throw përdoret për hedhjen e qartë të një përjashtimi në PHP. Ajo pranon një parametër - objektin e përjashtimit, i cili duhet të jetë një shembull i një klase, e trashëguar nga klasa bazë Exception. Kur thirret kjo funksion, ekzekutimi i kodit aktual ndërpritet menjëherë, dhe PHP përpiqet të gjejë bllokun përkatës catch për trajtimin e përjashtimit.

Sintaksa

phpthrow new ExceptionClass(message, code, previous);

Shembull

Një shembull i thjeshtë i gjenerimit të përjashtimit:

php<?php
  $age = -5;
  if ($age < 0) {
    throw new Exception('Mosha nuk mund të jetë negative');
  }
?>

Rezultati i ekzekutimit të kodit:

phpFatal error: Uncaught Exception: Mosha nuk mund të jetë negative

Shembull

Shembull me trajtim të përjashtimit:

php<?php
  try {
    $res = 10 / 0;
    if (is_infinite($res)) {
      throw new Exception('Pjestim me zero');
    }
  } catch (Exception $e) {
    echo 'Gabim: ' . $e->getMessage();
  }
?>

Rezultati i ekzekutimit të kodit:

php'Gabim: Pjestim me zero'

Shembull

Përdorimi i përjashtimit të personalizuar:

php<?php
  class MyCustomException extends Exception {}
  
  try {
    throw new MyCustomException('Mesazh i personalizuar gabimi');
  } catch (MyCustomException $e) {
    echo 'U kap gabim i personalizuar: ' . $e->getMessage();
  }
?>

Rezultati i ekzekutimit të kodit:

php'U kap gabim i personalizuar: Mesazh i personalizuar gabimi'

Shihni gjithashtu

  • konstruktin try,
    që përcakton një bllok kodi për trajtimin e përjashtimeve
  • konstruktin catch,
    që kap dhe trajton përjashtimet
  • klasën Exception,
    që është klasa bazë për të gjitha përjashtimet