![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 945 Pomógł: 7 Dołączył: 15.03.2005 Skąd: katowice Ostrzeżenie: (0%) ![]() ![]() |
az wstyd mi sie przyzbac ale całkowicie nie kapuje po co stosowac w ogole te całe wyjatki a przeczytalem artykulu i z phpedi wszysto kilka razy ale dalej nie wiem. Po co.. mozna urzywac elseif i mamy chyba to samo.
no
przeciez mozna to zrobic bez wyjatku prosto i szybko wiec po co wyjatek, nie chodzi tylko o ten przykład. tak testuje sobie na swojej "pseudo" kodzie i mam takie cos naprzyklad chcial bym zrobic teraz tak ze jak podam liczbe wieksza niz 454 to $a automatycznie zostanie przypisane do np. 5 ( wtedy powiino nie zwracac bledow ) moze zle mysle. ale no na boga nie kapuje siedze juz testuje od paru godzin. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 26.08.2006 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Funkcje powinny zwracać tylko takie wartości, jakie są oczekiwane. Np jeśli funkcja wykonuje dzielenie dwóch intów, to powinna zwrócić tylko i wyłącznie float. A jeśli ktoś jako parametry poda 5, 0? Nie da się dzielić przez 0, więc bez wyjątków musisz zwrócić False lub rzygnąć brzydkim błędem. Jeśli korzystasz z wyjątków, w przypadku drugiego parametru równego 0, rzucasz wyjątkiem. Wyglądałoby to tak:
Oczywiście jest to pewne uproszczenie i tylko jeden aspekt, ale powinno wskazać Ci kierunek w jakim powinieneś iść poznając i stosując mechanizm wyjątków :) Ten post edytował mysz 15.12.2006, 10:45:06 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
aczteryhehe w takim przykładzie jak podałeś wyjątki faktycznie mają średni sens. Tu raczej chodzi o coś takiego żę
try { operacje na jakiś klasach/obiektach } catch (Exception $e) { obsługa wyjątków } Przy czym wyjątków nie wyrzucasz jawnie w bloku try tylko one są wyrzucane gdzieś w klasach. Koncepcja opiera się o to, że klasa/obiekt informuje że coś poszło nie tak wyrzucając wyjątek a ty w danym fragmencie kodu sam decydujesz co z tym fantem zrobić. Np. Błąd w odczycie bazy danych raz może być krytyczny i spowodować, że nie ma sensu dalej ciągnąć aplikacji tylko wyświetlić stronę błędu, a w innym miejscu ten sam błąd może np. nie być tak istotny i można podjąć działania (w bloku catch), które pozwolą na naprawienie sytuacji 'w locie'. Oczywiście to co tu piszę to bardzo duże uproszczenie. Kiedyś hwao miał bardzo fajny artykuł na ten temat na swoim blogu. //edit mysz mnie uprzedził :-) Ten post edytował athabus 15.12.2006, 10:54:41 |
|
|
![]()
Post
#4
|
|
Administrator wortalu Grupa: Przyjaciele php.pl Postów: 960 Pomógł: 39 Dołączył: 21.10.2003 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat Kiedyś hwao miał bardzo fajny artykuł na ten temat na swoim blogu. http://wortal.php.pl/wortal/artykuly/proce...likacji/wyjatki |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 945 Pomógł: 7 Dołączył: 15.03.2005 Skąd: katowice Ostrzeżenie: (0%) ![]() ![]() |
czytałem to juz pisałem przeciez. 1 przykład to własnie z tego artykulu pochodzi . |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 19.06.2007 Skąd: Gdańsk Ostrzeżenie: (10%) ![]() ![]() |
Ja zaproponowałbym:
--moderacja-- oraz: --moderacja--
Powód edycji: [Cysiaczek]:
|
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Nie dość, że piszesz o tym samym co art wyżej to jeszcze odgrzebujesz zombiaki sprzed lat. Zamykam i nie odkopuj więcej tematów.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 17:57 |