Instrukcja try

Konstrukcja try pozwala obsługiwać wyjątki, które mogą wystąpić podczas wykonywania kodu. W bloku try umieszcza się potencjalnie niebezpieczny kod, a w bloku catch - handler wyjątków. Może być również używany blok finally, który wykonuje się w każdym przypadku.

Składnia

phptry {
  // Kod, który może wywołać wyjątek
} catch (ExceptionType $e) {
  // Obsługa wyjątku
} finally {
  // Kod, który wykona się w każdym przypadku
}

Przykład

Najprostszy przykład obsługi wyjątku:

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

Wynik wykonania kodu:

php'Caught exception: Something went wrong'

Przykład

Przykład z użyciem bloku finally:

php<?php
try {
  echo 'Try block executed';
} finally {
  echo ' - Finally block executed';
}
?>

Wynik wykonania kodu:

php'Try block executed - Finally block executed'

Przykład

Obsługa różnych typów wyjątków:

php<?php
try {
  // Kod, który może wywołać różne wyjątki
  throw new InvalidArgumentException('Invalid argument');
} catch (InvalidArgumentException $e) {
  echo 'Invalid argument: ', $e->getMessage();
} catch (Exception $e) {
  echo 'Generic exception: ', $e->getMessage();
}
?>

Wynik wykonania kodu:

php'Invalid argument: Invalid argument'

Zobacz też