![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Przyjaciele php.pl Postów: 2 335 Pomógł: 6 Dołączył: 7.03.2002 Ostrzeżenie: (0%) ![]() ![]() |
Taki przykladowy kod:
...powinien wyswietlic Exception> (...) Natomiast dzieje sie inaczej. Wyswietlane sa standardowe monity bledu: Cytat Warning: Division by zero in (...) Czy tylko mnie tak to dziala (IMG:http://forum.php.pl/style_emoticons/default/dry.gif) czy moze u was jest tak samo ? |
|
|
![]() ![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 562 Pomógł: 15 Dołączył: 8.08.2003 Skąd: Denmark/Odense Ostrzeżenie: (0%) ![]() ![]() |
funkcje nie zucaja exeptions, tylko standardowe errory... niestety. jedyny sposob na uzycie wyjatkow to zucanie ich samemu, wzglednie eksperymentowanie z wlasnym error handlerem (set_error_handler" title="Zobacz w manualu PHP" target="_manual)...
Ten post edytował bregovic 10.10.2004, 17:58:37 |
|
|
![]()
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 2 335 Pomógł: 6 Dołączył: 7.03.2002 Ostrzeżenie: (0%) ![]() ![]() |
Huh :|
przywyczajenie z C# wzielo gore (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) No coz bede musial je obsluzyc wlasnie przez error handlera (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 562 Pomógł: 15 Dołączył: 8.08.2003 Skąd: Denmark/Odense Ostrzeżenie: (0%) ![]() ![]() |
tja, ja wiem czy to takie zle? oczywiscie byloby fajnie jakby wszytsko zwracalo wyjatki... ale to by wymagalo standardowych klas, interfaceow itp... a tak to mozna sobie samemu wszystko zaprojektowac.
|
|
|
![]()
Post
#5
|
|
Grupa: Przyjaciele php.pl Postów: 2 335 Pomógł: 6 Dołączył: 7.03.2002 Ostrzeżenie: (0%) ![]() ![]() |
Ale zauwaz, ze mamy przykladowo funkcje do obslugi bazy i nei wiemy gdzie wystapi blad: czy podczas polaczenia, czy podczas wybierania bazy itp. Po co, wiec robic co chwile IFy jak mozna oblac to try'em ? (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Natomiast jesli chodzi o rozwiazania tego to tworcy php mogli by pokusic sie o polaczenie wywalanych standardowo bledow z exceptionami i jezeli byl by try to wyzucamy exception, w przeciwnym razie standardowy monit... no ale (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]() ![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 562 Pomógł: 15 Dołączył: 8.08.2003 Skąd: Denmark/Odense Ostrzeżenie: (0%) ![]() ![]() |
Oczywiscie, gdyby wyjatki byly zaimplementowane w jadrze php byloby pieknie, nieprzecze - ale tak jak jest teraz, tzn mozna robic throw i to lapac, to i tak o niebo lepsze niz to co bylo w 4 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 521 Pomógł: 0 Dołączył: 3.11.2003 Skąd: 3city Ostrzeżenie: (0%) ![]() ![]() |
Niestety, nie da się dodać wyjątków do jądra php, bo to by kompletnie złamało kompatybilność wstecz. To tak jak w C++ : biblioteka standardowa zostaje ta sama, można co najwyżej obudować warstwą obiektową. Której i tak mało kto by w php używał, bo wydajność by spadła przecież. Nie da rady.
Takie coś jest możliwe tylko w językach, które od początku były robione jako obiektowe, np. w Javie, gdzie wyjątki są rzucane przez samo jądro. Chociaż, teoretycznie dałoby się wyrzucić standardowe funkcje php do jakiejś osobnej, dołączanej biblioteki, i dać do wyboru drugą, gdzie dodano wyjątki. I ma się wybór, które extension chcemy sobie włączyć. To by było piękne... A co do funkcji do obsługi bazy - tutaj akurat sprawa jest prosta, wystarczy że ktoś przepisze extension np. do obsługi mysql i doda tam wyjątki. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 14:43 |