Skirtumas tarp patikrintos ir nežymėtos išimties

Išimties tvarkymas „Java“ yra vienas iš galingų mechanizmų, galinčių sutvarkyti specifines klaidas, atsirandančias kodo seka vykdymo metu. Išimtis yra ne kas kita, o Klaida, trikdanti įprastą programos srautą.

Paprastai tai būna kodo dalis, o kai tai padaroma, sukuriamas objektas, vaizduojantis šią išimtį, ir mesti tuo metodu, kuris jį sukėlė. Dėl to programa ar programa yra sutrikdyta, todėl programa nutraukiama neįprastai, o tai nerekomenduojama. Štai kodėl šios išimtys turi būti nagrinėjamos, ir būtent čia susidaro išimčių tvarkymo mechanizmas.

„Java“ egzistuoja dviejų tipų išimtys - pažymėta ir nepažymėta išimtis. Šiame straipsnyje mes išsamiai aptarsime, kokia yra patikrinta ir nepatikrinta išimtis ir kada jas naudoti, ir galiausiai pamatysime skirtumą tarp dviejų.

Kas yra patikrinta išimtis „Java“?

Tai yra išimtys, kurios tikrinamos ir tvarkomos kompiliavimo metu. „Java“ standartiniame pakete apibrėžia keletą išimčių klasių java.langas, ir dažniausiai pasitaikančios išimtys yra standartinio tipo poklasiai „RuntimeException“.

Tos išimtys, kurios atsiranda tose srityse, kurių programa tiesiogiai nekontroliuojama, vadinamos patikrintomis išimtimis. Jei metodas meta kompiliavimo metu patikrintą išimtį, kuri pati negali su ja susitvarkyti, tada ji turi tvarkyti išimtį a punkte pagauti blokuoti arba paskelbti išimtį naudodami meta raktinis žodis, kitaip jis pateiks kompiliavimo klaidą. Kompiliatorius tiria išimties objekto tipą kiekvienam mesti teiginį ir, jei jis rodomas pažymėtas, kompiliatorius patikrina šaltinio kodą, kad įsitikintų, jog išimtis yra tvarkoma tokiu būdu, kai ji yra išmesta arba deklaruojama, kad ją būtų galima toliau tvarkyti.

Visos išimtys aprašytos Išimtis kurie yra jos tiesioginiai poklasiai, išskyrus „RuntimeException“ yra vadinamos patikrintomis išimtimis. Dabar kada naudoti pažymėtą išimtį? Galite pasirinkti naudoti pažymėtą išimtį, kai tiksliai žinote, ką daryti, kai Išimtis įvyksta arba kai nesėkmės tikimybė yra didesnė. Keletas patikrintų „Java“ bibliotekos išimčių pavyzdžių yra „IOException“, „DataAccessException“, „IllegalAccessException“, „InterruptedException“, „ClassNotFoundException“, „InvocationTargetException“ ir kt..

Kas yra nepažymėta „Java“ išimtis?

Tai yra išimtys, kurios netikrinamos kompiliavimo metu. Nepatikrinta išimtis reiškia būklę, kuri paprastai atspindi programos logikos klaidas ir kurios negalima atkurti vykdant.

Paprastai tariant, nepatikrinta išimtis yra išimtis, kuri nėra įtraukta į pabandyk pagauti blokuoti. Jų nereikia aiškiai sugauti. Tiesą sakant, kai atsiranda nepatikrinta išimtis, „Java“ išimtį tvarko automatiškai. Nepatikrintos išimtys dažniausiai atsiranda dėl programavimo klaidų, tokių kaip prieiga prie elemento, esančio už masyvo surišimo ribų, arba prieiga prie nulio objekto metodo. „Java“ programoje visos išmestos išimtys yra tikrinamos išimtys, tuo tarpu išimtys, kurios yra tiesioginiai poklasiai Klaida ir „RuntimeException“ yra nepatikrintos išimtys.

Geriausia nepatikrintos išimties dalis yra ta, kad ji nesumažina kodo skaitomumo išlaikant kliento kodą švarų. Kai kurie nepatikrintų išimčių pavyzdžiai yra „ArithmeticException“, „ClassCastException“, „NullPointerException“, „ArrayIndexOutOfBound“, „IllegalArgumentException“, „IllegalStateException“, „ArrayStoreException“, „SecurityException“ ir kt..

Skirtumas tarp pažymėtos ir nepatikrintos išimties

Patikrintos ir nepatikrintos išimties apibrėžimas

Patikrintos ir nepažymėtos išimtys yra dvi „Java“ išimčių rūšys, užtikrinančios normalų programos srautą. Abu jie skirti tam pačiam tikslui, ty tvarkyti „Java“ išimtis, ir nors funkcionalumas nesiskiria, nėra vienos taisyklės, nustatančios, kada naudoti pažymėtą, o kada naudoti nepatikrintą išimtį. Patikrinta išimtis yra išimtis, kuri tikrinama kompiliavimo metu, tuo tarpu nežymėta išimtis yra ta, kuri nėra tikrinama kompiliavimo metu..

Patikrintos ir nepatikrintos išimties pagrindai

Pažymėta išimtis reiškia negaliojančius scenarijus, kurie atsiranda tiesiogiai nekontroliuojant programos, tuo tarpu nepatikrinta išimtis reiškia programos klaidas ar programos logikos klaidas, kurių negalima atkurti vykdant.

Išimčių tvarkymas

Jei metodas meta patikrintą išimtį, kompiliatorius patikrins, ar metodas tvarko tą išimtį naudodamas bandymo sugauti bloką, arba nurodys išimtį naudodamas raktinių žodžių metimus. Jei metodas nepateikia tvarkymo kodo, jis parodys kompiliavimo klaidą. Programa, priešingai, sukompiliuota puikiai, nes kompiliatorius kompiliavimo metu netikrina, ar nėra Nepatikrintų išimčių.

Patikrintos ir nepatikrintos išimties priežastis

Išimtys, kurios nėra išvestos iš „RunTimeException“, yra dažnai tvarkomos, kadangi vykdymo metu išimčių būna retai. Patikrinta išimtis įvyksta, kai nesėkmės tikimybė yra per didelė. Nepažymėta išimtis, kita vertus, dažniausiai atsiranda dėl programavimo klaidų. Visos „RuntimeException“ ir „Error“ klasių išimtys yra nepatikrintos išimtys, tuo tarpu visa kita, kas nurodyta skiltyje, yra patikrintos išimtys..

Patikrintos ir nepatikrintos išimties pavyzdžiai

Keletas patikrintų išimčių pavyzdžių yra „IOException“, „DataAccessException“, „IllegalAccessException“, „InterruptedException“, „ClassNotFoundException“ ir dar daugiau. Nepatikrintų išimčių pavyzdžiai yra „NullPointerException“, „ArithmeticException“, „ArrayIndexOutOfBound“, „IllegalArgumentException“, „IllegalStateException“, „ArrayStoreException“, „SecurityException“ ir kt..

Patikrinta ir nepažymėta išimtis: palyginimo diagrama

Patikrintos ir nepatikrintos išimties suvestinė

Pažymėta ir nepažymėta išimtis yra dviejų tipų „Java“ išimtys. Nors abiejų išimčių funkcionalumas yra tas pats, jie turi nemažą skirtumų dalį. Pagrindinis skirtumas tarp patikrintų ir nekontroliuojamų išimčių yra tas, kad pirmąjį tikrina kompiliatorius, o antrasis neleidžia pranešti apie kompiliatorių. Išimtys, kurios yra tikrinamos ir tvarkomos kompiliavimo metu, yra tikrosios išimtys, tuo tarpu išimtys, kurios nėra tikrinamos ir tvarkomos kompiliavimo metu, yra nepatikrintos išimtys. Šiame straipsnyje paaiškinta, kas yra patikrinta ir kas yra nepažymėta išimtis, kada juos naudoti, ir paaiškinamas skirtumas tarp šių dviejų.