Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Obsługa błedów, a !@
Forum PHP.pl > Forum > PHP
MWL
Witam, próbuję zrobić własną obsługę błędów. Mam napisany kod:
  1. <?php
  2. set_error_handler('errorHandler');
  3. error_reporting(E_ALL ^ E_NOTICE);
  4.  
  5. function errorHandler($errno, $errstr, $errfile, $errline) {
  6.  $msg = "Wystąpił błąd\nWaga błędu: ";
  7.  switch ($errno) {
  8.  case E_WARNING: $msg .= 'E_WARNING'; break;
  9.  case E_NOTICE: $msg .= 'E_NOTICE'; break;
  10.  case E_USER_ERROR: $msg .= 'E_USER_ERROR'; break;
  11.  case E_USER_WARNING: $msg .= 'E_USER_WARNING'; break;
  12.  case E_USER_NOTICE: $msg .= 'E_USER_NOTICE'; break;
  13.  }
  14.  $msg .= "\nKomunikat o błędzie: $errstr";
  15.  $msg .= "\nPlik z błędem: $errfile";
  16.  $msg .= "\nWiersz z błędem: $errline";
  17.  error($msg);
  18. }
  19. ?>


Wszystko działa bez zarzutu, jednak kiedy piszę:

  1. <?php
  2. if(!@include_once("vgl_templates/controller.php")) {
  3.  error("Wystąpił błąd, nie można załadować pliku kontrolera podglądu.");
  4. }
  5. ?>


Otrzymuję nie tekst "Wystąpił błąd, nie można załadować pliku kontrolera podglądu." lecz zostaje wyświetlony błąd, czy można temu jakoś zaradzić??
nospor
http://pl2.php.net/manual/pl/function.set-...ndler.php#76900
w przykladzie tym masz pokazane jak nie walic bledow spowodowanych malpą
MWL
A więc to:
  1. <?php
  2. if (error_reporting() == 0) {
  3. return;
  4. }
  5. ?>


Starczy?
nospor
Wstaw, sprawdź i napisz czy spełnia Twoje oczekiwania.
MWL
Jednak rozwiązanie to nie działa do końca, błędy w ogóle się nie pokazują. Co mam jeszcze zrobić?? Próbowałem chyba wszystkiego HELP ME biggrin.gif

Może to wina serwera?? używam xamppa...
viking
Zobacz: http://pl2.php.net/manual/pl/function.include-once.php#53239

A swoją drogą to czemu jeszcze bawisz się w standardowe błędy zamiast przejść na wyjątki?
MWL
jakoś nie lubię try'ować tongue.gif
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.