Excepții PHP pentru încercare și captură, php

Vă prezentăm un ghid pentru începători cu privire la modul de utilizare a blocurilor în PHP încercați să prindeți. În acest articol, vă voi arăta cum să capturați excepțiile.







Să aruncăm o privire la exemplul excepției generate (și ulterior interceptată):

În exemplul de mai sus, am demonstrat utilizarea TRY și CATCH. în care excepția este întotdeauna generată (numai de dragul exemplului):

  1. În interiorul blocului TRY, verificăm dacă cifra 1 este egală cu 2. Deoarece nu este egală (și nu va fi niciodată egală), vom arunca o excepție cu mesajul "1 nu este egal cu 2! „;
  2. În interiorul blocului CATCH, interceptăm excepția și afișăm un mesaj corespunzător.
  • TRY. în interiorul blocului de încercare PHP, specificăm logica aplicației. Acest bloc conține cod care poate sau nu poate arunca o excepție;
  • CAPTURA. Blocul CATCH va intercepta excepțiile afișate în blocul anterior TRY. Codul din interiorul blocului CATCH va fi executat numai dacă se găsește o excepție;
  • SFÂRȘIT. Dacă utilizați PHP 5.5 și o versiune superioară, puteți utiliza blocul FINAL. Codul localizat în acesta este întotdeauna executat, indiferent dacă a fost detectată o excepție.

Când sunt folosite excepțiile?







Excepțiile sunt utilizate atunci când rezultatul operațiunii este diferit de ceea ce aștepta cererea dvs. De exemplu, dacă aplicația încearcă să citească un fișier CSV pe server și acest fișier nu există, atunci poate fi aruncată o excepție. Folosind PHP încercați să prindeți în exemplu:

În exemplul de mai sus de a folosi excepția de încercare PHP, aruncăm o excepție atunci când nu putem deschide fișierul solicitat. Și o generăm, pentru că fișierul ar fi trebuit să existe. Exemple de situații în care puteți face excepții:

  1. Aplicația dvs. PHP nu se poate conecta la MySQL;
  2. A apărut o eroare la interogarea bazei de date;
  3. Eroare la solicitarea API;
  4. A fost primit un tip de cerere nevalid;
  5. Variabilele necesare $ _POST sau $ _GET lipsesc.

Trebuie să interceptez toate excepțiile?

Personal, nu cred. De exemplu, nu vă puteți conecta la baza de date și o excepție este aruncată, atunci ar trebui să executați tot codul rămas? Dacă tot codul ulterior este legat de o bază de date care pur și simplu nu există, atunci de ce ar trebui să fie executată?

În opinia mea, aveți nevoie pentru a prinde excepții folosind PHP încercați de captură în cele din urmă doar în cazul în care nu afectează în mod negativ celelalte funcții ale aplicației.

De exemplu, în cazul în care API-cerere la un serviciu extern returnează o eroare, puteți prinde user-friendly mesajul de excepție și afișare „Nu se poate conecta la baza de date“ sau „informații meteo nu sunt disponibile.“

Nu trebuie să fie tratate de către un manipulator personalizat excepțiile prinse. Deci, vă puteți ocupa de excepțiile interceptate și de mesajele sau mesajele lizibile de la oameni.

Traducerea articolului "Excepții Php: Încercați Catch "a fost pregătit de echipa prietenoasă a proiectului Saitostroenie de la A la Z.







Trimiteți-le prietenilor: