web.php5.sk

SMTP connect() failed' error on localhost, or how to catch PHP warnings in try block.

13. november 2016 / Čamo

Tento článok je o tom, ako zmeniť defaultné správanie PHP pri spracovaní chýb. V PHP existuje niekoľko úrovní chýb, ktoré sa spracovávajú roznym spôsobom. niektoré vyhodia výnimku, ktorá nedovolí programu pokračovať ďalej a iné vypíšu napríklad warovanie. Tu sa budem zaoberať prípadom, keď miesto warovania(warning), ktoré by sa vypísalo na obrazovku, chceme, aby sa pri varovaní vyhodila výnimka. 

Budem veľmi stučný, pretože som pred chvíľou stratil už polovicu hotového textu, čo ma dosť rozrušilo. 

Takže ak chcete pozrite sa na prípadovú štúdiu :) súvisiacu s triedou SmtpMailer v Nette frameworku, alebo na inú z knižnice PhpMailer

V príklade s Nette je navrhnuté riešenie cez PHP funkciu set_error_handler(). Táto funkcia teda zachytí vštky úrovne chýb, ktoré sa počas behu scriptu vyskytnú a vy sa môžete rozhodnúť, čo sa bude s jednotlivými úrovňami diať. V našom prípade, chceme, aby PHP warning, ktorý nieje v PHP fatálnou chybou a vypíše iba otravné varovanie na stránku, bolo považované za fatálnu chybu a vyhodilo výnimku. 

Ak chcete pridávať komentáre musíte sa prihlásiť