Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 247 Pomógł: 5 Dołączył: 10.12.2007 Ostrzeżenie: (0%)
|
Czytałem coś o wyjątkach, wiem jak się ich używa, jednak nie mam pojęcia PO CO??
Patrząc na przykład z PHPEdia
Jaki sens ma łapanie tutaj wyjątku ?! Czy nie lepiej jest Wyjątki wg mnie da się wrzucić TYLKO tam gdzie MOŻE POWSTAĆ błąd! Wieć czy nie lepiej jest pisać aplikacje tak BY NIE BYŁO błędów (przynajmniej tych o których wiemy że mogą być). Zgodnie z 'Lepiej zapobiegać niż leczyć'. Proszę o jakieś wytłumaczenie po co ich używać. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 60 Dołączył: 25.02.2012 Ostrzeżenie: (0%)
|
mimol, jeśli nie używasz wyjątków, to:
- albo aplikacja sama wywala się przez błędy, nad czym nie masz kontroli co zrobić i w jaki sposób (ewentualnie masz niewielkie możliwości); jeśli raportowanie błędów jest włączone, takie błędy plują na ekran bardzo brzydkie komunikaty pełne informacji, które ze względów bezpieczeństwa nie powinny być udostępniane publicznie, a jeśli raportowanie błędów jest wyłączone, to użytkownik może nawet zobaczyć... nic, czyli pusty ekran - albo sam w bardzo prymitywny sposób próbujesz użytkownikowi wyświetlić komunikat, że coś jest źle - to coś jest zakodowane bezpośrednio w miejscu wystąpienia błędu, więc jeśli masz w aplikacji sto miejsc, w których mogą wystąpić błędy, to w stu miejscach piszesz podobny kod wyświetlania informacji o błędzie razem z kodem sprawdzającym, czy ten błąd może wystąpić; wyobraź sobie, że chcesz nagle zmienić sposób postępowania w takich sytuacjach - musisz zmienić sto fragmentów kodu - albo kodujesz program tak, żeby udawał, że nie ma błędów, mimo, że one są, czyli robisz klienta w bambuko Jeśli rzucasz wyjątki, to możesz każdy z nich złapać i obsłużyć w dowolnym miejscu programu, i takie miejsce może być nawet tylko jedno (to zależy od tego jak jest zaprojektowana architektura programu). W miejscu przechwycenia wyjątku decydujesz, co zrobić w takiej sytuacji i w jaki sposób. Wyjątki można także rozpoznawać (po klasie wyjątku, ale także na podstawie zwracanego kodu) i zależnie od tego podejmować różne potrzebne czynności. I tak jak Crozin napisał, każdy wyjątek dostarcza mnóstwa użytecznych informacji na temat przyczyn i okoliczności wystąpienia danego błędu, co jest nieocenioną pomocą przy wykrywaniu błędów i poprawianiu programu. Wyjątki są po prostu absolutnie zajebiste i jeśli w to wątpisz, to usiądź i poczekaj, aż Ci przejdzie (IMG:style_emoticons/default/biggrin.gif) |
|
|
|
mimol [PHP]Wyjątki - przewidywanie błedu 21.08.2012, 11:53:54
Crozin 1. Co w przypadku gdybyś chciał zareagować na wyst... 21.08.2012, 12:04:37
mimol 1. Co w przypadku gdybyś chciał zareagować na wyst... 21.08.2012, 12:13:43
CuteOne Z życia wzięte
[PHP] pobierz, plaintext $array = a... 21.08.2012, 13:07:31
mimol dzięki za przykłady, chyba będę musiał więcej poćw... 21.08.2012, 13:34:20
CuteOne Mylisz wyjątki z walidacją. Wyjątki mają informowa... 21.08.2012, 13:50:22
mimol Więc jeżeli programista wie, że błąd się może poja... 21.08.2012, 16:45:02
CuteOne Kolejny przykład
[PHP] pobierz, plaintext $config ... 21.08.2012, 19:56:30
mimol wyjątki mają służyć programistom , dzięki to rozja... 21.08.2012, 20:52:20
pamil Chciałbym Ci przypomnieć, że najnowsze PHP (5.4) z... 21.08.2012, 20:57:36
SmokAnalog Wyjątki wymyślono po to, żeby ułatwić życie na po... 21.08.2012, 21:08:52 ![]() ![]() |
|
Aktualny czas: 24.12.2025 - 08:39 |