Funkcia catch

Funkcia catch je súčasťou bloku try-catch a slúži na zachytenie výnimiek, ktoré môžu byť vyvolané v bloku try. Pri výskyte výnimky sa vykonávanie kódu presunie do príslušného bloku catch, kde je možné chybu spracovať.

Syntax

phptry {
  // Kód, ktorý môže vyvolať výnimku
} catch (ExceptionType $e) {
  // Spracovanie výnimky
}

Príklad

Najjednoduchší príklad spracovania výnimky:

php<?php
  try {
    throw new Exception('Something went wrong');
  } catch (Exception $e) {
    echo 'Caught exception: ' . $e->getMessage();
  }
?>

Výsledok vykonania kódu:

php'Caught exception: Something went wrong'

Príklad

Spracovanie rôznych typov výnimiek:

php<?php
  try {
    if (rand(0, 1)) {
      throw new InvalidArgumentException('Invalid argument');
    } else {
      throw new RuntimeException('Runtime error');
    }
  } catch (InvalidArgumentException $e) {
    echo 'Invalid argument: ' . $e->getMessage();
  } catch (RuntimeException $e) {
    echo 'Runtime error: ' . $e->getMessage();
  } catch (Exception $e) {
    echo 'Generic exception: ' . $e->getMessage();
  }
?>

Možné výsledky vykonania kódu:

php'Invalid argument: Invalid argument'
alebo
'Runtime error: Runtime error'

Pozri tiež

  • konštrukciu try,
    ktorá definuje blok kódu pre spracovanie výnimiek
  • konštrukciu throw,
    ktorá vyvoláva výnimku
  • triedu Exception,
    ktorá je základnou triedou pre všetky výnimky