Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Własna obsługa wszystkich błędów.
Forum PHP.pl > Forum > PHP
starach
Witam.
Czy jest jakaś możliwość aby skrypt obsługiwał mi wszystkie błędy ?
Kiedy na przykład zrobię jakąś literówkę to parser wywali mi E_PARSE i
nie wiem czemu ale moja obsługa błędu zostaje pominięta.
Da się coś z tym zrobić ?
strife
A sam ustawiasz error_reporting" title="Zobacz w manualu PHP" target="_manual ? Jaką masz wartość w php.ini? No i poczytaj rozdział w manualu na ten temat smile.gif
starach
  1. <?php
  2. set_error_handler('error_handler', E_ALL);
  3. set_exception_handler('exception_handler');
  4. function error_handler($code, $message, $file, $line, $bla) 
  5. {
  6. $error = new Error($message, $code, '', false);
  7. $error->set_var('file', $file);
  8. $error->set_var('line', $line);
  9. $error->parse();
  10. }
  11. function exception_handler($message)
  12. {
  13. throw new Error($message, 0, '');
  14. }
  15. ?>


php.ini
Kod
error_reporting  =  E_ALL


manual
Kod
Proszę daruj mi czytanie tych 10 stron przynajmniej na razie :P
strife
Ładnie to tak nie używać BB Code tongue.gif Popraw to proszę winksmiley.jpg Co do Twojego problemu, masz w manualu napisane dokładnie jaką wartość wpisać, aby były wyświetlane błędy jakie chcesz:

  1. <?php
  2. // Turn off all error reporting
  3.  
  4. // Report simple running errors
  5. error_reporting(E_ERROR | E_WARNING | E_PARSE);
  6.  
  7. // Reporting E_NOTICE can be good too (to report uninitialized
  8. // variables or catch variable name misspellings ...)
  9. error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
  10.  
  11. // Report all errors except E_NOTICE
  12. // This is the default value set in php.ini
  13. error_reporting(E_ALL ^ E_NOTICE);
  14.  
  15. // Report all PHP errors (bitwise 63 may be used in PHP 3)
  16.  
  17. // Same as error_reporting(E_ALL);
  18. ini_set('error_reporting', E_ALL);
  19. ?>


Czy taka odpowiedź Cię satysfakcjonuje ? snitch.gif
dr_bonzo
Cytat
Czy jest jakaś możliwość aby skrypt obsługiwał mi wszystkie błędy ?
Kiedy na przykład zrobię jakąś literówkę to parser wywali mi E_PARSE i
nie wiem czemu ale moja obsługa błędu zostaje pominięta.


manual:
Cytat
The following error types cannot be handled with a user defined function: E_ERROR, E_PARSE...


Cytat
manual
Proszę daruj mi czytanie tych 10 stron przynajmniej na razie

Leniu!!!
http://pl.php.net/manual/pl/function.set-error-handler.php

minuta czytania
starach
No dobra przepraszam tongue.gif
Dziękuję za pomoc =]
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.