Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, tenho este código abaixo.
Utilizei o try/catch para capturar os erros de conexão e inserir no log.
Porém ele NUNCA cai no catch, alguem sabe pq?
Agradeço toda a ajuda deis de já.
try
{
// Conecta
//
$this -> FTP = ftp_connect ( $host , $porta );
// Autentica
//
ftp_login ( $this -> FTP , $usuario , $senha );
}
catch ( Exception $msg )
{
// Adiciona ao log
//
$this -> addLog ( $msg );
}>
a documentação dessas duas funções não mençionam disparo de exceção. Se não há disparo de exceção, nunca cairá no catch()
Que pena... bem, valeu a dica amigão!
Você pode alterar o php para que, ao invés de lançar erros do tipo: Warning; Error; Notice. Esses erros sejam tratados como ErroException. Basta inserir uma simples função.
Segue o código:
function exceptionErrorHandler( $errorNumber, $errorString, $errorFile, $errorLine ) {
throw new ErrorException($errorString, 0, $errorNumber, $errorFile, $errorLine);
}
set_error_handler("exceptionErrorHandler", E_ALL );
Isso é bem útil, pois evita qualquer tipo de erro na sua aplicação. Desde os mais simples. TUDO que pode lançar um simples notice deverá ser tratado.
Muito bom! Adorei isso e darei uma boa olhada!
Porém oq estou desenvolvendo é uma classe avulsa e não pode influenciar o resto do sistema, seja qual for, onde ela for inserida.
Mesmo assim, para outras aplicações, certamente irei usar! Vlw!
a documentação dessas duas funções não mençionam disparo de exceção. Se não há disparo de exceção, nunca cairá no catch()