Die throw-kommando

Die throw-kommando word gebruik om uitdruklik 'n uitsondering in PHP te werp. Dit neem een parameter - 'n uitsonderingsobjek, wat 'n instansie van 'n klas moet wees wat van die basisklas Exception oorgeërf is. Wanneer hierdie funksie opgeroep word, word die uitvoering van die huidige kode onmiddellik gestaak, en PHP probeer om die ooreenstemmende catch-blok te vind om die uitsondering te hanteer.

Sintaksis

phpthrow new ExceptionClass(message, code, previous);

Voorbeeld

'n Eenvoudige voorbeeld van uitsonderingsgenerasie:

php<?php
  $age = -5;
  if ($age < 0) {
    throw new Exception('Ouderdom kan nie negatief wees nie');
  }
?>

Resultaat van die kode-uitvoering:

phpFatal error: Uncaught Exception: Ouderdom kan nie negatief wees nie

Voorbeeld

Voorbeeld met uitsonderingshantering:

php<?php
  try {
    $res = 10 / 0;
    if (is_infinite($res)) {
      throw new Exception('Deling deur nul');
    }
  } catch (Exception $e) {
    echo 'Fout: ' . $e->getMessage();
  }
?>

Resultaat van die kode-uitvoering:

php'Fout: Deling deur nul'

Voorbeeld

Gebruik van 'n persoonlike uitsondering:

php<?php
  class MyCustomException extends Exception {}
  
  try {
    throw new MyCustomException('Persoonlike foutboodskap');
  } catch (MyCustomException $e) {
    echo 'Persoonlike fout gevang: ' . $e->getMessage();
  }
?>

Resultaat van die kode-uitvoering:

php'Persoonlike fout gevang: Persoonlike foutboodskap'

Sien ook

  • die konstruksie try,
    wat 'n kodeblok definieer vir die hantering van uitsonderings
  • die konstruksie catch,
    wat uitsonderings vang en hanteer
  • die klas Exception,
    wat die basisklas is vir alle uitsonderings