Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

PHP - Chybové hlášky Sommer David 1 IT.. Obsah Druhy chyb Jaké chyby PHP hlásí? Co s chybami? Programátorsko – psychologická pravidla.

Podobné prezentace


Prezentace na téma: "PHP - Chybové hlášky Sommer David 1 IT.. Obsah Druhy chyb Jaké chyby PHP hlásí? Co s chybami? Programátorsko – psychologická pravidla."— Transkript prezentace:

1 PHP - Chybové hlášky Sommer David 1 IT.

2 Obsah Druhy chyb Jaké chyby PHP hlásí? Co s chybami? Programátorsko – psychologická pravidla

3 Druhy chyb Syntaktické chyby Syntaktické chyby jsou nejjednodušší na vytvoření, ale taky na odhalení. Syntaktická chyba je všechno, co způsobí neplatný kód PHP. Tak například můžete zapomenout středník nebo uvozovky. Ukázka

4 Ukázka Syntaktické chyby Následující kód je špatně: " echo "Máte novou poštu"; ?> Jak bude PHP reagovat? Parse error: parse error, unexpected T_ECHO, expecting ',' or ';' in D:\Pokus\source.php on line 5

5 Druhy chyb Sémantické chyby To už jsou horší chyby. Sémantická chyba vznikne u kódu, který projde parsováním, ale nepůjde spustit. Ukázka

6 Ukázka Sémantické chyby Tak mějme například následující kód: Jelikož funkce explode vyžaduje ne jeden ale dva parametry, zaprotestuje pochopitelně PHP způsobem: Warning: Wrong parameter count for explode() in D:\Pokus\source.php on line 3

7 Druhy chyb Logické chyby Takže kód běží, aplikace nepadá - může nás ještě vůbec něco překvapit? Ano, jsou to logické chyby. PHP je poměrně benevolentní jazyk - což taky znamená, že Vám umožní kdejakou věc, kterou by Vám přísnější jazyky zakázaly. Ukázka

8 Ukázka Logické chyby Následující kód je správný syntakticky i sémanticky - a přesto je výsledek logicky špatný Tady jsme se pokusili pracovat s řetězci jako s čísly. Na což PHP zareagovalo přetypováním a převedlo vše na čísla. Výsledkem je nula. Logické chyby bývá obtížné vystopovat. Projevují se totiž pouze někdy a v systému jsou pak schopny nadělat pěknou paseku. Kdybyste například v uvedeném příkladu doufali, že proměnnou $cele časem použijete jako logickou proměnnou, je neštěstí na světě. Obsah(Menu)

9 Jaké chyby PHP hlásí? PHP hlásí 4 typy chyb, které ale přesně nezapadají do skupin chyb popsaných dříve. Je to takhle: Úroveň chybyVýznam Chyby čtení(Parse)To jsou de facto syntaktické chyby Závažné chyb(Fatal)To jsou buď sémantické chyby, nebo chyby prostředí, z nichž se PHP nedokáže zotavit (například nedefinovaná funkce). Varování(Warnings) To jsou chyby podobné závažným, ale zároveň si PHP myslí, že může pokračovat dál. Většinou to ale stejně není pravda. Upozornění(Notices) Bývá většinou v reále vypnuto. Méně podstatné chyby, například neinicializované proměnné. Obsah(Menu)

10 Co s chybami? Programátor by se měl nad chybami zamýšlet trochu jako uživatel. Uživatelé chyby nevidí rádi. Nicméně - někdy se dá použít metoda "co oko nevidí, srdce nebolí". Mějme například nějakou funkci pro zvýšení hodnoty počitadla, která selže. Musí se to uživatel dozvědět? Vlastně vůbec ne. Pokud požijeme před voláním funkce (zavináč), chybové hlášení v PHP bude potlačeno. Pozor, nefunguje to u příkazů, jen u funkcí. To, jaké chyby bude PHP hlásit se dá omezit pomocí funkce error_reporting. To, že se budou chyby zapisovat pro případné další zkoumání, zajišťuje funkce error_log. Systém ovšem musí být nastaven pro její použití. Obsah(Menu)

11 Programátorsko – Psychologická pravidla Nepoužívejte slovo chyba, když dojde k chybě. Přiznali byste, že program je špatně napsaný. Existují výjimky, nestandardní situace, ale nikdy chyby. Ze stejného důvodu se tam nesmí objevit ani slovo error. Snažte se být slušní. Uživatel za chybu nikdy nemůže. I když ji způsobil (třeba špatným vstupem). Snažte se být nenápadní. Vytvořte si funkci, která chybu vysvětlí pomocí stejných prvků designu, jako kdyby se operace povedla. Mám tím třeba na mysli, že nutně nemusíte psát chyby červeně na prázdnou stránku, když byste dost dobře mohli použít pozadí, které tam máte normálně. Snažte se vysvětlit, co může uživatel udělat (přihlásit se za 5 minut, zavolat na technickou podporu, vyskočit z okna a podobně) Nepište tam takové věci jako čísla řádku, chybovou hlášku PHP a podobně. Uživatele to nezajímá, on má prostě chybu. Konec

12 Díky za pozornost Pokud se vám prezentace líbila můžete si ji stáhnout na adrese: prosek.cz/~sommda08it/WEB/PHP - Chybové hlášky.ppthttp://student.sps- prosek.cz/~sommda08it/WEB/PHP - Chybové hlášky.ppt


Stáhnout ppt "PHP - Chybové hlášky Sommer David 1 IT.. Obsah Druhy chyb Jaké chyby PHP hlásí? Co s chybami? Programátorsko – psychologická pravidla."

Podobné prezentace


Reklamy Google