![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Przykładowo mam taki pliczek:
Zostanie przechwycony wyjątek i wyświetlony komunikat: Cytat Zmienna a musi być większa od zera Teraz chciałbym zrobić coś takiego, że gdy zostanie przechwycony wyjątek 1 zostanie zapisany do pliku, gdy zostanie przechwycony wyjątek 2 natąpi zatrzymanie skryptu przez die() a gdy zostanie przechwycony wyjątek 3 sterowanie zostanie przekierowanie do pliku index2.php. Zastanawiam się jak w jednym catch rozpoznawać rodzaje wyjątków tej samej klasy? -------------------- ”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335) |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
A czemu musza byc jednej klasy?
-------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 62 Pomógł: 0 Dołączył: 4.04.2003 Skąd: Częstochowa/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
na początku rozszerz sobie klasę Exception na np. klasy ExceptionA, ExceptionB, ExceptionC gdzie w tych klasach zdefiniuj sobie metodę z tym co chcesz zrobić (zapis do pliku, wyjście itp.), a następnie łap odpowiednie typy wyjątków i wykonuj dla nich te właśnie metody.
Ten post edytował q 13.01.2007, 03:48:52 -------------------- www.iNdS.pl - Najwieksza Amatorska Sieć Komputerowa w Polsce
www.marcinpeciak.eu - under construction |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 359 Pomógł: 1 Dołączył: 16.04.2006 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Przecież wyjątek to nienormalne zadziałanie aplikacji i chyba gdy złapiemy Exception to skrypt bezwarunkowo kończy pracę.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
A czemu musza byc jednej klasy? Bo mam np klasę ConfigException i Config. W klasie Config istnieje możliwość powstania błędu krytycznego w 3 metodach. W zależności w której metodzie powstanie błąd krytyczny zostanie zastosowana inna obsługa wyjątku. Ale wszystkie wyjątki należą do ConfigException. @envp: Mi nie wystarcza wywalenie błędu na ekran i koniec. Po złapaniu wyjątku próbuję zastosować działania prewencyjne a jeśli się nia da to die(); -------------------- ”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335) |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 416 Pomógł: 0 Dołączył: 8.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
J4r0d obiekt klasy Exception ma rowniez pole code, wiec mozesz rzucac wyjatkami o roznych kodach bledow i na podstawie tych kodow wykonywac odpowiednie operacje.
@envp, wyjatek to nienormalne dzialanie aplikacji, ale wcale nie jest powiedziane ze po wyrzuceniu jego ma sie ona zakonczyc. Nalezy ten blad obsluzyc, zalogowac, ale bardzo czesto aplikacja powinna dzialac dalej. Czesto nie sa to w koncu krytyczne wyjatki. edit: poprawione, mylicie mi sie ![]() Ten post edytował ikioloak 13.01.2007, 12:49:34 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 359 Pomógł: 1 Dołączył: 16.04.2006 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
nyss ?
![]() |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
J4r0d obiekt klasy Exception ma rowniez pole code, wiec mozesz rzucac wyjatkami o roznych kodach bledow i na podstawie tych kodow wykonywac odpowiednie operacje. Też nad tym myślałem.. Zastanawiam się jak je podzielić, np. kod wyjątu 0 -> błędy krytyczne i następuje przerwanie aplikacji.. Jaka jest Wasza propozycja? Może już to ktoś kiedyś opracował? edit: poprawione, mylicie mi sie ![]() Kto? ![]() -------------------- ”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335) |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 11:01 |