[php] przechwytywanie błędów

0

Czy jest możliwe aby pojawienie sie dowolnego błedu (Fatal error:, Warning:) spowodowało wywołanie zdefiniowanej przez użytkownika funkcji?

Pozwoliło by to na zapisywanie wszsytkich błedów które sie pojawiły do pliku tekstowego, a co za tym idzie łatwiejsze ich znajdywanie.

0
Manual napisał(a)

Jeśli mechanizm track_errors został włączony, jakiekolwiek powiadomienie o błędzie zostanie zapisane do zmiennej globalnej $php_errormsg. Należy jednak pamiętać, że zawartość tej zmiennej jest nadpisywana przy każdym błędzie, więc po wystąpieniu kolejnego błędu w skrypcie, informacja o poprzednim błędzie jest tracona.

więc na końcu każdego skryptu mógłbyś sprawdzać zawartość tej zmiennej i ew. logować ale to zapisze tylko ostatni błąd jaki wystąpił ...

0

thx Adamo :)

0

Oprócz tego część serwerów udostępnia logi z błędów w skryptach z danego folderu. Na przykład Netrulon.com. Osobiście co jakiś czas rpzeglądam te logi, pozwalają mi stwierdzić, czy to błędy z okresu testowania czegoś (gdzie błędy są czymś IMHO normalnym), czy gdzieś w trakcie funkcjonowania stronki (nota bene dużo poważniejsza sprawa i warta sprawdzenia).

0
Adam.Pilorz napisał(a)

Oprócz tego część serwerów udostępnia logi z błędów w skryptach z danego folderu. Na przykład Netrulon.com. Osobiście co jakiś czas rpzeglądam te logi, pozwalają mi stwierdzić, czy to błędy z okresu testowania czegoś (gdzie błędy są czymś IMHO normalnym), czy gdzieś w trakcie funkcjonowania stronki (nota bene dużo poważniejsza sprawa i warta sprawdzenia).

tak, tak, dzięki za ten wywód, ale jakby mój serwer udostepniał takie logi to nie było by tego tematu, który nawiasem mówiąc juz jest skonczony bo otrzymałem odpowiedź :P

0

Odpowiedź, tak, ale nie idealną. Czemu? A no temu, że ostatni błąd rzadko cokolwiek mówi. Najbardziej liczy się pierwszy. Ostatni błąd najczęściej jest efektem poprzednich.

0
Adam.Pilorz napisał(a)

Odpowiedź, tak, ale nie idealną. Czemu? A no temu, że ostatni błąd rzadko cokolwiek mówi. Najbardziej liczy się pierwszy. Ostatni błąd najczęściej jest efektem poprzednich.

Jak to nie idealną? Ustawiając error handlera otrzymujesz przekierowanie do funkcji o każdym błędzie. Czyż to nie idylla?

0
Sheitar napisał(a)
Adam.Pilorz napisał(a)

Odpowiedź, tak, ale nie idealną. Czemu? A no temu, że ostatni błąd rzadko cokolwiek mówi. Najbardziej liczy się pierwszy. Ostatni błąd najczęściej jest efektem poprzednich.

Jak to nie idealną? Ustawiając error handlera otrzymujesz przekierowanie do funkcji o każdym błędzie. Czyż to nie idylla?

pisał o $php_errormsg a nie o error_handler bo rzeczywiście to dużo lepsze rozwiązanie

0
Adamo napisał(a)

pisał o $php_errormsg a nie o error_handler bo rzeczywiście to dużo lepsze rozwiązanie

ale fakt faktem, nie doczytał tematu a wrzucił swoje 3 grosze :P

0
Kooba napisał(a)

ale fakt faktem, nie doczytał tematu a wrzucił swoje 3 grosze :P
Stali bywalcy forum powinni się już do tego przyzwyczaić, że zawsze wrzuca swoje 3 grosze - nawet jak skarbonka dawno jest pełna [diabel]

1 użytkowników online, w tym zalogowanych: 0, gości: 1