Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Warunkowe try/catch
Forum PHP.pl > Forum > PHP
ziggi
Problem jest następujący:

Kod dla użytkownika musi zawierać "ładną" obsługę błędów, co powoduje, że kluczowe operacje bazodanowe, komunikacyjne itd, są ujęte w blokach try/catch. Fajnie. Ale takie ich ujęcie powoduje, że jak już jakiś błąd wystąpi, developer nie ma łatwego życia - pierwsze, co na ogół musi zrobić, to zakomentować try/catch, żeby zobaczyć prawdziwe źródło błędu w stacku zapisanym w logu.

W związku z tym pytanie - czy ktoś zna jakiś wygodny sposób nadania blokowi try/catch cech warunkowości?

Mam na myśli coś w rodzaju (pseudokod):

tryIf ( DEBUG_FLAG === false ) {

$this->zupa();

} catch (\Exception $e) {

echo $e->getMessage();

} finally {

$this->kupa();

}

Wynik działania takiej konstrukcji powinien być dokładnie takie sam jak standardowego bloku try/catch, jeśli stała DEBUG_FLAG ma wartość false, lecz jeśli stała ta ma wartości true, to wykonane zostałyby wywołane funkcje:

$this->zupa();

oraz

$this->kupa();

natomiast cała logika obsługi ewentualnego błędu zostałaby pominięta.

Szukałem jakichś publikacji, które poruszałyby podobne zagadnienie, lecz nie udało mi się takowych znaleźć. Ktoś, coś...?

Pozdrawiam,
Ziggi
Salvation
Nie ma takiej możliwości. Kod z bloku `try` musi się odpalić, żeby mogło w ogóle zadziałać `catch` - złapanie błędu.

Opisz co konkretnie chcesz zrobić i co osiągnąć, bo pewnie przekombinowałeś.
com
prosty sposób w bloku catch zrob mechanizm logowania do loga i tyle wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.