Excepții, manualul php

Modelul de excepție din PHP 5 este similar cu cel utilizat în alte limbi de programare. O excepție poate fi generată (așa cum se spune, "throw") folosind instrucțiunea throw. și puteți intercepta (sau, așa cum se spune, "prinde") o declarație de captură. Codul care aruncă o excepție trebuie să fie înconjurat de un bloc de încercare. astfel încât să puteți intercepta excepția. Fiecare bloc de încercare trebuie să aibă cel puțin o captură sau, în final, un bloc corespunzător acesteia.







Obiectul generat trebuie să aparțină clasei Excepție sau să fie moștenit de la Excepție. O încercare de a genera o excepție a unei alte clase va duce la o eroare nerecuperabilă.

Puteți utiliza mai multe blocuri de captură. interceptând diferite clase de excepții. Execuția normală (atunci când nu este aruncată nici o excepție în blocurile de încercare sau când clasa excepțională generată nu se potrivește cu clasele declarate în blocurile de captură corespunzătoare) va continua după ultimul bloc de captură. De asemenea, excepțiile pot fi generate (sau repetate) prin instrucțiunea throw din interiorul blocului de captură.







Atunci când o excepție după codul descris de expresia nu va fi executat, iar PHP va încerca să găsească primul bloc de captură. Interceptarea excepției acestei clase. Dacă excepția nu este prins, PHP va da un mesaj de eroare: „Excepție negestionat“ (excepție neînregistrată), în cazul în care handler de eroare nu a fost definită utilizând funcția set_exception_handler ().

În PHP 5.5 și mai târziu, puteți utiliza, de asemenea, blocul final după sau în locul blocului de captură. Codul din blocul final va fi întotdeauna executat după codul din blocurile de încercare și captură. indiferent dacă excepția a fost aruncată sau nu, înainte de executarea normală a codului. dacă a fost aruncată o excepție și înainte de reluarea normală a execuției.

notițe

Funcțiile interne ale PHP folosesc în principal mesaje de eroare. și numai extensiile orientate pe obiect noi utilizează excepții. Cu toate acestea, erorile pot fi ușor convertite în excepții utilizând clasa ErrorException.







Articole similare

Trimiteți-le prietenilor: