Manipularea excepțiilor în Java este unul dintre mecanismele puternice de a gestiona erorile specifice care apar într-o secvență de coduri în timpul execuției. O excepție nu este altceva decât o eroare de execuție care întrerupe fluxul normal al aplicației.
În mod normal, apare într-o bucată de cod și atunci când se întâmplă, este creat un obiect care reprezintă această excepție aruncat în metoda care la determinat. Ca urmare, programul sau aplicația este întreruptă, determinând ca aplicația să se termine anormal, ceea ce nu este recomandat. Acesta este motivul pentru care aceste excepții trebuie să fie tratate și acesta este locul unde mecanismul de tratare a excepțiilor ajunge la imagine.
Există două tipuri de excepții care există în Java - Excepție verificată și neschimbată. În acest articol, vom discuta în detaliu ce este verificată și o excepție neconfirmată și când să o folosiți și, în sfârșit, vom vedea diferența dintre cele două.
Acestea sunt excepțiile care sunt verificate și manipulate la momentul compilării. Java definește mai multe clase de excepții în pachetul standard java.lang, iar cele mai frecvente excepții sunt subclasele de tip standard RuntimeException.
Excepțiile care apar în zonele aflate în afara controlului imediat al programului sunt cunoscute ca excepții verificate. Dacă o metodă aruncă o excepție verificată la timpul de compilare care nu se poate ocupa de ea însăși, atunci trebuie să se ocupe de excepția dintr-o captură blocați sau declarați excepția utilizând aruncă cuvânt cheie, altfel va da o eroare de compilare. Compilatorul examinează tipul obiectului de excepție pentru fiecare dintre ele arunca declarația și dacă este afișată verificată, compilatorul verifică codul sursă pentru a se asigura că excepția este tratată în metoda în care este aruncată sau este declarată astfel încât să poată fi tratată ulterior.
Toate excepțiile descrise de Excepție care sunt subclasele sale directe, cu excepția RuntimeException se numesc excepții verificate. Acum când să folosiți excepția verificată? Puteți alege să utilizați o excepție verificată atunci când știți exact ce să faceți atunci când o Excepție apare sau când șansele de eșec sunt mai multe. Câteva exemple de excepții verificate în biblioteca Java includ IOException, DataAccessException, IllegalAccessException, InterruptedException, ClassNotFoundException, InvocationTargetException, etc.
Acestea sunt excepțiile care nu sunt verificate la timpul de compilare. Excepția necontrolată reprezintă o condiție care, în general, reflectă erorile din logica unui program și care nu poate fi recuperată de la data de rulare.
În termeni simpli, excepția neconfirmată este o excepție care nu este capturată într-o încearcă să prinzi bloc. Nu trebuie să fie prinși în mod explicit. De fapt, atunci când apare o excepție neconfirmat, Java se ocupă automat de excepție. Excepțiile necontrolate apar în majoritatea cazurilor din cauza erorilor de programare, cum ar fi atunci când accesați elementul în afara unei metode de legare a matricei sau de accesare a unui obiect nul. În Java, toate excepțiile la care se poate descărca sunt excepții verificate, în timp ce excepțiile sunt subclase directe Eroare și RuntimeException sunt excepții necontrolate.
Cea mai bună parte a unei excepții necontrolate este că nu reduce lizibilitatea codului, păstrând curat codul clientului. Unele exemple de excepții necontrolate includ ArithmeticException, ClassCastException, NullPointerException, ArrayIndexOutOfBound, IllegalArgumentException, IllegalStateException, ArrayStoreException, SecurityException, etc.
Exemplul Checked and Unchecked are două excepții existente în Java pentru a asigura fluxul normal al aplicației. Ambele servesc aceluiași scop care se ocupă de excepțiile din Java și, deși nu există nicio diferență în funcționalitate, nu există nicio regulă unică pentru a determina când să se utilizeze verificată și când să se utilizeze excepția neconfirmată. Verificată Excepția este o excepție care este verificată la momentul compilării, în timp ce excepția Unchecked este cea care nu este verificată la momentul compilării.
O excepție verificată se referă la scenariile invalide care apar în afara controlului imediat al programului, în timp ce excepția necontrolabilă se referă la erorile din program sau la erorile din logica programului care nu pot fi recuperate de la data de rulare.
Dacă o metodă aruncă o excepție verificată, compilatorul va verifica dacă metoda se ocupă de respectiva excepție folosind blocul try-catch sau specifică excepția folosind cuvântul cheie aruncat. Dacă metoda nu furnizează codul de manipulare, va afișa o eroare de compilare. Dimpotrivă, programul se compilează foarte bine deoarece compilatorul nu verifică excepțiile necontrolate la momentul compilării.
Excepțiile care nu sunt derivate din RunTimeException sunt adesea tratate, în timp ce excepțiile apar la runtime sunt rareori manipulate. O excepție verificată apare atunci când șansele de eșec sunt prea mari. Excepția necontrolată, pe de altă parte, apare mai ales din cauza programării greșelilor. Toate excepțiile din rubricile RuntimeException și Error sunt excepții necontrolate, în timp ce toate celelalte lucruri care se pot descărca sunt excepții verificate.
Câteva exemple de excepții verificate sunt IOException, DataAccessException, IllegalAccessException, InterruptedException, ClassNotFoundException și multe altele. Exemple de excepții necontrolate includ NullPointerException, ArithmeticException, ArrayIndexOutOfBound, IllegalArgumentException, IllegalStateException, ArrayStoreException, SecurityException, etc.
Exemplul Checked and Unchecked are două tipuri de excepții care există în Java. În timp ce funcționalitatea este aceeași pentru ambele excepții, acestea au cota lor echitabilă de diferențe. Principala diferență între excepțiile verificate și necontrolate este aceea că primul este verificat de compilator, în timp ce acesta din urmă scapă de notificarea compilatorului. Excepțiile care sunt verificate și manipulate la momentul compilării sunt verificate excepții, în timp ce excepțiile care nu sunt verificate și manipulate la momentul compilării sunt excepții necontrolate. Acest articol explică ce este verificat și ce este o excepție necontrolată, când să-i folosiți și explică diferența dintre cele două.