Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Obsługa błedów, a !@
MWL
post
Post #1





Grupa: Zarejestrowani
Postów: 493
Pomógł: 32
Dołączył: 14.04.2008
Skąd: Lenkowski.net

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


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ć??

Ten post edytował MWL 9.07.2008, 15:22:59


--------------------
Wpadaj na mój kanał o PHP. Dużo mięsa 🥩!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




http://pl2.php.net/manual/pl/function.set-...ndler.php#76900
w przykladzie tym masz pokazane jak nie walic bledow spowodowanych malpą


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
MWL
post
Post #3





Grupa: Zarejestrowani
Postów: 493
Pomógł: 32
Dołączył: 14.04.2008
Skąd: Lenkowski.net

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


A więc to:
  1. <?php
  2. if (error_reporting() == 0) {
  3. return;
  4. }
  5. ?>


Starczy?


--------------------
Wpadaj na mój kanał o PHP. Dużo mięsa 🥩!
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Wstaw, sprawdź i napisz czy spełnia Twoje oczekiwania.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
MWL
post
Post #5





Grupa: Zarejestrowani
Postów: 493
Pomógł: 32
Dołączył: 14.04.2008
Skąd: Lenkowski.net

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


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...

Ten post edytował MWL 10.07.2008, 19:07:30


--------------------
Wpadaj na mój kanał o PHP. Dużo mięsa 🥩!
Go to the top of the page
+Quote Post
viking
post
Post #6





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


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?


--------------------
Go to the top of the page
+Quote Post
MWL
post
Post #7





Grupa: Zarejestrowani
Postów: 493
Pomógł: 32
Dołączył: 14.04.2008
Skąd: Lenkowski.net

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


jakoś nie lubię try'ować tongue.gif


--------------------
Wpadaj na mój kanał o PHP. Dużo mięsa 🥩!
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 16:56