login  Naam:   Wachtwoord: 
Registreer je!
 Forum

set_error_handler

Offline smoos - 28/02/2006 22:11
Avatar van smoosPHP gevorderde Hier op SiMa staan tig voorbeelden van set_error_handler. Ik heb wat geprobeerd:

(
  1. <?php
  2.  
  3. set_error_handler("errorhandler");
  4.  
  5. function errorhandler ($nummer , $bericht, $bestand, $regel)
  6. {
  7. echo "foutje!!";
  8. }
  9.  
  10. require ( "connection.inc.php" );
  11.  
  12. // Hieronder wat fouten:
  13.  
  14. mysql_query("SELECT * FROMM confieg WHWFERE id = 1");
  15.  
  16. echo "hoi";
  17. echo "hoi"
  18. echo "hoi";
  19.  
  20. ?>


Maar ik krijg bij een fout niet "foutje!!"
maar ik krijg dit:
Citaat:
Parse error: syntax error, unexpected T_ECHO, expecting ',' or ';' in C:hostxampphtdocssitegsincludetest.php on line 18

wat doe ik nu fout?

9 antwoorden

Gesponsorde links
Offline webstab - 28/02/2006 22:16
Avatar van webstab PHP ver gevorderde 17e regel ; vergeten
Offline b4nkr0bz0r - 28/02/2006 22:27
Avatar van b4nkr0bz0r PHP gevorderde webstab, hij wil dat hij zijn eigen errorhandler kan gebruiken.

set_error_handler("errorhandler"); zet dit is onderaan, mischien dat dat helpt!
Offline smoos - 28/02/2006 22:29 (laatste wijziging 28/02/2006 22:30)
Avatar van smoos PHP gevorderde @ webstab

dat is juist expres
ook:
Citaat:
FROMM confieg WHWFERE

is fout.

@ b4nkr0bz0r
oke even proberen. (volgens mij maakt dat niet uit btw )

Edit:
Het helpt niet... 
Offline b4nkr0bz0r - 28/02/2006 22:37
Avatar van b4nkr0bz0r PHP gevorderde dom van me, nu hoop ik het te weten.
bij jouw functie heeft $nummer een cijfer, daarme kan je de error vergelijken, dit kan je dus in een if-lus of een switch-case statement verwerken maar ik denk dat dit ook kan:

  1. set_error_handler('errorhandler', E_ALL);
Offline smoos - 28/02/2006 22:43
Avatar van smoos PHP gevorderde ik heb het geprobeert.
ik heb nu dit:
  1. <?php
  2.  
  3. error_reporting( E_ALL );
  4. set_error_handler('errorhandler', E_ALL);
  5.  
  6. function errorhandler ($nummer , $bericht, $bestand, $regel)
  7. {
  8. echo "foutje!!";
  9. }
  10.  
  11. require ( "connection.inc.php" );
  12.  
  13. // Hieronder wat fouten:
  14.  
  15. mysql_query("SELECT * FROMM confieg WHWFERE id = 1");
  16.  
  17. echo "hoi";
  18. echo "hoi"
  19. echo "hoi";
  20.  
  21. set_error_handler('errorhandler', E_ALL);
  22.  
  23. ?>

error:
Citaat:
Parse error: syntax error, unexpected T_ECHO, expecting ',' or ';' in C:hostxampphtdocssitegsincludetest.php on line 19
Offline lemoinet - 28/02/2006 23:03
Avatar van lemoinet PHP gevorderde ; vergeten op regel 18:\
Offline b4nkr0bz0r - 28/02/2006 23:07
Avatar van b4nkr0bz0r PHP gevorderde lemoinet pannekoek, dat moet ook.
maar dit is toch logisch als je error_reporting op E_ALL zet ? die moet juist weg want je wil je eigen error-reporter...
Offline smoos - 28/02/2006 23:08 (laatste wijziging 28/02/2006 23:09)
Avatar van smoos PHP gevorderde @ lemoinet

Je bent de 2e.
Lees je replies alsjeblieft voor geval dat je een dubbel antwoord geeft.

vanaf de regel:
// Hieronder wat fouten:

staan 2 fouten
1 in de mysql_query();
en 1 in de middelste echo

dit is om te kijken of die error handler het doet. wat dus niet het geval is.

@ b4nkr0bz0r


Als ik die error_reporting() weghaal of niet. Bij bijde werkt het niet :S
Offline Richard - 01/03/2006 08:17
Avatar van Richard Crew algemeen @iedereen behalve 2: die ; is nodig, nu kan hij het BESTAND niet parsen, de error handler kan dus ook niet geinitialiseerd worden.

lees ook:
Citaat:
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, E_COMPILE_WARNING, and most of E_STRICT raised in the file where set_error_handler() is called.


duidelijker? die ; moet er gewoon bij. alleen eigen fouten en sommige andere fouten kunnen met de error handler worden gedaan.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.221s