Функција catch

Функција catch је део блока try-catch и служи за хватање изузетака који могу бити бачени у блоку try. При појави изузетака извршавање кода прелази у одговарајући блок catch, где се грешка може обрадити.

Синтакса

phptry {
  // Код који може да баци изузетак
} catch (ExceptionType $e) {
  // Обрада изузетка
}

Пример

Најједноставнији пример обраде изузетка:

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

Резултат извршавања кода:

php'Caught exception: Something went wrong'

Пример

Обрада различитих типова изузетака:

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();
  }
?>

Могући резултати извршавања кода:

php'Invalid argument: Invalid argument'
или
'Runtime error: Runtime error'

Погледајте такође

  • конструкцију try,
    која дефинише блок кода за обраду изузетака
  • конструкцију throw,
    која баца изузетак
  • класу Exception,
    која је основна класа за све изузетке