Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] error handler
ARJ
post
Post #1





Grupa: Zarejestrowani
Postów: 453
Pomógł: 22
Dołączył: 20.09.2004
Skąd: Kraków - NH -

Ostrzeżenie: (0%)
-----


witam.
stworzyłem coś takiego:
  1. <?php
  2. define("FATAL", E_USER_ERROR);
  3. define("ERROR", E_USER_WARNING);
  4. define("WARNING", E_USER_NOTICE);
  5. error_reporting(FATAL | ERROR | WARNING);
  6. class error_handler{
  7. function error_handler($errno, $errstr, $errfile, $errline)
  8. {
  9. switch ($errno) {
  10. case FATAL:
  11. echo "<b>Krytyczny</b> [$errno] $errstr<br />n";
  12. echo " Krytyczny błąd w lini $errline pliku $errfile";
  13. echo ", php " . PHP_VERSION . " (" . PHP_OS . ")<br />n";
  14. echo "Przerwanie wykonywania skryptu!!!<br />n";
  15. exit(1);
  16. break;
  17. case ERROR:
  18. echo "<b>Błąd</b> [$errno] $errstr<br />n";
  19. break;
  20. case WARNING:
  21. echo "<b>Ostrzeżenie</b> [$errno] $errstr<br />n";
  22. break;
  23. default:
  24. echo "<b>Błąd nieznanego typu</b>: [$errno] $errstr<br />n";
  25. break;
  26. }
  27. }
  28. }
  29. ?>

w czym tkwi problem? jak to wywołać przy pomocy set_error_handler? w manualu podana jest nazwa funkcji w "". próbowałem to wywoływać na kilka różnych sposobów ale żaden nie działa. najwyżej na początku strony wyrzuca mi: Błąd nieznanego typu[]. co z tym zrobić? od razu mówie że mam php4.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
siemakuba
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 112
Pomógł: 20
Dołączył: 10.04.2005

Ostrzeżenie: (0%)
-----


Cytat
tyle tylko że to jest klasa error_handler.

o damn, sorki... nie zauważyłem :)

callbacki do klas wszędzie ustawiasz tak samo, jedna uwaga, niech ten handler nie będzie konstruktorem, ale metoda (nazwę ją eHandler):

  1. <?php
  2. //  dla istniejacej instancji klasy error handler:
  3. $eh = new error_handler();
  4. set_error_handler(array(&$eh, 'eHandler'));
  5.  
  6. // dla statycznego dostepu do metody eHandler klasy error_handler:
  7. // cos jak error_handler::eHandler();
  8.  
  9. set_error_handler(array('error_handler', 'eHandler'));
  10. ?>


powinno być ok.
pozdr.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 05:32