Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problemy z try/catch
Seth
post
Post #1





Grupa: Przyjaciele php.pl
Postów: 2 335
Pomógł: 6
Dołączył: 7.03.2002

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


Taki przykladowy kod:
  1. <?php
  2. try
  3. {
  4. $a = 10;
  5. $b = 0;
  6.  
  7. echo $a/$b;
  8. }
  9. catch ( Exception $e )
  10. {
  11. echo &#092;"Exception> \".$e.__toString();
  12. }
  13. ?>

...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 ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
hawk
post
Post #2





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.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 6.10.2025 - 04:51