[PHP] Error handler doet het 'af en toe'

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Skaah
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:38
Ik heb als volgt een error handler geimplementeerd.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class ehClass
{

        function eh_input($type, $msg, $file, $line, $context)
        {
                die(
                '<div style="width: 350px; font: 10pt Verdana;"><div style="font: 8pt Verdana;">error:</div><hr />'.
                $msg.
                '<hr /></div>');
        }

} // class..

set_error_handler(array('ehClass','eh_input'));
trigger_error('error',E_USER_ERROR);

Alleen doet ie 't af en toe. Soms krijg ik een gewone error, en soms een 'afgehandelde' fout. Dus als ik 'F5' kan ik één van beide krijgen, maar welke, daar is geen lijn op te trekken. Iemand ideeën?
PHP 4.3.3. Win32.
De cache van mijn browsers heb ik wel een paar keer geleegd, maar dat hielp niet.

[ Voor 18% gewijzigd door Skaah op 13-01-2004 12:50 ]


Acties:
  • 0 Henk 'm!

  • FlowinG
  • Registratie: Maart 2003
  • Laatst online: 19-09 17:00
ik vraag me eigenlijk af waarom je dit in een class hebt gezet en niet gewoon een functie. (ik vind het niet zo boeiend hoor, maar ik vroeg het me gewoon af).

Je gebruikt ook een array voor set_error_handler. Kan je niet dan gewoon beter "ehClass::eh_input" gebruiken? (dit omdat het miss buggy werkt)

Probeer ook even of de functie set_error_handler wel de functie kan vinden. (voorbeeld: $is_afgehandeld = set_error_handler("ehClass::eh_input"); )
Opmerking: The following error types cannot be handled with a user defined function: E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR and E_COMPILE_WARNING.

[ Voor 24% gewijzigd door FlowinG op 13-01-2004 13:04 ]


Acties:
  • 0 Henk 'm!

  • Skaah
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:38
Het werkt inderdaad correct als het niet in een class staat. Dat is wel grappig, want random gedrag zou niet mogen.