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%)
-----


no, musisz zarejestrowac error_handler tak jak napisałeś:
  1. <?php
  2. set_error_handler('error_handler');
  3. ?>

i spróbuj tak:
  1. <?php
  2. trigger_error('Bład w celu testu bledow', E_USER_ERROR);
  3. ?>


nie wiem, czy takie przepisanie stałych jak wykombinowałeś coś tutaj nie miesza, chociaż na zdrowy rozum wydaje sie ze nie powinno.

pamietaj tylko o tym:
Cytat
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.
(pogrubienie moje)

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: 2.10.2025 - 18:14