Comando try

A construção try permite tratar exceções que podem ocorrer durante a execução do código. No bloco try é colocado o código potencialmente perigoso, e no bloco catch - o tratador de exceções. Também pode ser usado o bloco finally, que é executado em qualquer caso.

Sintaxe

phptry {
  // Código que pode causar uma exceção
} catch (ExceptionType $e) {
  // Tratamento da exceção
} finally {
  // Código que será executado em qualquer caso
}

Exemplo

Um exemplo simples de tratamento de exceção:

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

Resultado da execução do código:

php'Caught exception: Something went wrong'

Exemplo

Exemplo usando o bloco finally:

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

Resultado da execução do código:

php'Try block executed - Finally block executed'

Exemplo

Tratamento de diferentes tipos de exceções:

php<?php
try {
  // Código que pode causar diferentes exceções
  throw new InvalidArgumentException('Invalid argument');
} catch (InvalidArgumentException $e) {
  echo 'Invalid argument: ', $e->getMessage();
} catch (Exception $e) {
  echo 'Generic exception: ', $e->getMessage();
}
?>

Resultado da execução do código:

php'Invalid argument: Invalid argument'

Veja também