Comando throw
O comando throw é usado para lançar explicitamente uma exceção em PHP.
Ele aceita um parâmetro - um objeto de exceção, que deve ser uma instância de uma classe,
herdada da classe base Exception. Quando esta função é chamada, a execução do código
atual é imediatamente interrompida, e o PHP tenta encontrar o bloco catch correspondente para lidar com a exceção.
Sintaxe
throw new ExceptionClass(message, code, previous);
Exemplo
Um exemplo simples de geração de exceção:
<?php
$age = -5;
if ($age < 0) {
throw new Exception('A idade não pode ser negativa');
}
?>
Resultado da execução do código:
Fatal error: Uncaught Exception: A idade não pode ser negativa
Exemplo
Exemplo com tratamento de exceção:
<?php
try {
$res = 10 / 0;
if (is_infinite($res)) {
throw new Exception('Divisão por zero');
}
} catch (Exception $e) {
echo 'Erro: ' . $e->getMessage();
}
?>
Resultado da execução do código:
'Erro: Divisão por zero'
Exemplo
Usando uma exceção personalizada:
<?php
class MyCustomException extends Exception {}
try {
throw new MyCustomException('Mensagem de erro personalizada');
} catch (MyCustomException $e) {
echo 'Erro personalizado capturado: ' . $e->getMessage();
}
?>
Resultado da execução do código:
'Erro personalizado capturado: Mensagem de erro personalizada'