• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

PHP

errorHandler para classes?

8 mensagens neste tópico

Hoje queria definir um error handler mas falhei em fazê-lo, pois apenas funcionava para erros FORA de classes. O facto é que uma class incluia um ficheiro de outra e essa outra nao existia, logo era suposto aparecer um erro. Porquê?

set_error_handler('error_handler');

class myclass {

oops;

}

--> Nao executa a minha função no oops, em vez disso executa o error handler normal do PHP.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado, já vi, mas o que queria mesmo era um error handler para TODOS os erros.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

function error_handler( $errno, $errstr, $errfile, $errline, $errcontext) {

$errortype = array (

E_ERROR              => 'Error',

E_WARNING            => 'Warning',

E_PARSE              => 'Parsing Error',

E_NOTICE            => 'Notice',

E_CORE_ERROR        => 'Core Error',

E_CORE_WARNING      => 'Core Warning',

E_COMPILE_ERROR      => 'Compile Error',

E_COMPILE_WARNING    => 'Compile Warning',

E_USER_ERROR        => 'User Error',

E_USER_WARNING      => 'User Warning',

E_USER_NOTICE        => 'User Notice',

E_STRICT            => 'Runtime Notice',

E_RECOVERABLE_ERROR  => 'Catchable Fatal Error'

);

echo 'PHP Error (<b>'.$errortype[$errno].'</b>) <br />'.

'Line: '.$errline.'<br />'.

"Error Message: ". print_r( $errstr, true).

"Error File: ". print_r( $errfile, true);

}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas fora da classe executa o error handler muito bem!

Mas recebes a mensagem de erro do costume em vez da tua? Tens a certeza que está a adar erro?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora