![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 2 Dołączył: 15.07.2011 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam problem z zapisem pliku w miejscu sieciowym na serwerze i chciałbym teraz poprzez przechwycenie wyjątku dowiedzieć się jaki jest problem, tzn. : czy jest problem z uprawnieniami , czy z błędną ścieżką czy może jeszcze coś innego ... zrobiłem tak :
jednak nie uzyskuję żadnej informacji w pliku info_log.txt , a plik test.txt nie zostaje utworzony Proszę o pomoc czy dobrze próbuję przechwycić wyjątek czy może powinienem to zrobić w inny sposób ... dziękuję Ten post edytował damianooo 29.11.2011, 09:52:24 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
No widzisz, niestety PHP od 7 lat (od czasu wprowadzenia wyjątków) nie doczekało się żadnych istotnych zmian w jego bibliotece standardowej i nadal jest na tym z poziomu roku 1999 (chyba). Nie pojawiła się też żadna wiodąca biblioteka zastępująca standardową, tak więc nadal jest się zdanym samym na siebie.
I tak, niestety będziesz musiał zrobić coś w stylu: Oczywiście jeżeli w wyjątkach chciałbyś przemycić coś więcej niż tylko "nie udało się zapisać", np. konkretny powód takiej niemożliwości, musiałbyś kombinować ze zmienną $php_errormsg, bo API funkcji f*() nie udostępnia żadnego normalnego sposobu do dobrania się do treści błędu - ewentualnie użyć error_handlera, ale to mocno ograniczające podejście. Oczywiście radziłbym napisać jakąś nakładę na powyższy kod, bo coś Cię trafi, jeżeli będziesz za każdym razem pisać taką obsługę błędów - pomijając fakt, że przy takiej formie niewiele się z wyjątków zyskuje. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 2.10.2025 - 18:22 |