php: try-catch não captura todas as exceções
Eu estou tentando fazer o seguinte:
try {
// just an example
$time = 'wrong datatype';
$timestamp = date("Y-m-d H:i:s", $time);
} catch (Exception $e) {
return false;
}
// database activity here
Resumindo: inicializo algumas variáveis para serem colocadas no banco de dados. Se a inicialização falhar por qualquer motivo - por ex. porque $ time não é o formato esperado - eu quero que o método retorne false e não insira dados errados no banco de dados.
No entanto, erros como esse não são capturados pela instrução 'catch', mas pelo manipulador de erros global. E então o script continua.
Existe uma maneira de contornar isso? Eu só pensei que seria mais limpo fazer isso assim, em vez de digitar manualmente cada variável, o que parece ineficaz, considerando que em 99% de todos os casos nada de ruim acontece.