Руковање изузецима у Јави је један од моћних механизама за обраду специфичних грешака које настају у кодном низу током извођења. Изузетак није ништа друго него грешка извршавања која нарушава нормалан ток апликације.
Обично се јавља у комаду кода, а када се то догоди, ствара се предмет који представља тај изузетак и бачен у методи која га је изазвала. Као резултат тога, програм или апликација се прекидају због чега се апликација ненормално прекида, што се не препоручује. Због тога треба поступати са овим изузецима и ту долази до изражаја механизам за управљање изузетцима.
Постоје двије врсте изузетака који постоје у Јави - Провјерено и Непровјерено изузеће. У овом чланку ћемо детаљно разговарати о томе шта је проверено и неконтролирано изузеће и када их користити, и на крају, видећемо разлику између ова два.
Ово су изузеци који се проверавају и обрађују током компајлирања. Јава дефинише неколико класа изузетака унутар стандардног пакета јава.ланг, а најчешћи изузеци су подкласе стандардног типа РунтимеЕкцептион.
Они изузеци који се дешавају у областима ван непосредне контроле програма познати су као проверени изузеци. Ако је метода бацања проверени изузетак у тренутку компилације који не може сам да се обрађује, онда мора да обради изузетак у а улов блокирати или прогласити изузетак користећи бацања кључна реч, у супротном ће се појавити грешка у састављању. Компајлер испитује тип објекта изузетка за сваког бацити Изјава и ако се приказује означеном, преводилац провјерава изворни код да би се увјерио да се обрађује изузетак у методи у којој је бачен или деклариран како би се могао даље руковати.
Сви изузеци описани од Изузетак које су његове директне подкласе осим за РунтимеЕкцептион називају се проверени изузеци. Сада када користити проверени изузетак? Можете да користите означену изузетак када тачно знате шта да радите када Изузетак догађа или када су шансе за неуспех веће. Неки примери проверених изузетака у Јава библиотеци укључују ИОЕкцептион, ДатаАццессЕкцептион, ИллегалАццессЕкцептион, ИнтерруптЕкцептион, ЦлассНотФоундЕкцептион, ИнвоцатионТаргетЕкцептион, итд..
Ово су изузеци који се не проверавају у време компилације. Непроверена изузетак представља услов који генерално одражава грешке у логици програма и који се не могу вратити у време извршења.
Једноставно речено, непроверени изузетак је изузетак који није ухваћен у покушај да ухватиш блокирати. Не треба их изричито ухватити. У ствари, када се догоди неконтролирани изузетак, Јава обрађује изузетак аутоматски. Непровјерене изнимке углавном настају због грешака у програмирању, попут при приступу елементу изван методе повезивања низа или приступу нулотном објекту. У Јави су сви изузеци под бацајућим проверама изузеци, док су изузеци директна подкласа Грешка и РунтимеЕкцептион су непроверени изузеци.
Најбољи део неконтролисаног изузетака је то што не смањује читљивост кода, истовремено одржавајући клијентов код чистим. Неки примери неконтролисаних изузетака укључују АритхметицЕкцептион, ЦлассЦастЕкцептион, НуллПоинтерЕкцептион, АрраиИндекОутОфБоунд, ИллегалАргументЕкцептион, ИллегалСтатеЕкцептион, АрраиСтореЕкцептион, СецуритиЕкцептион итд..
Провјерено и непровјерено изузеће су двије врсте изузетака који постоје у Јави како би се осигурао нормалан проток апликације. Обе служе истој сврси, а то је обрађивање изузетака у Јави и иако не постоји разлика у функционалности, не постоји јединствено правило за одређивање када се користи проверени и када се користи непроверени изузетак. Означена изузетка је изузетак који се проверава у време компилације, док је непроверена изузетка она која се не проверава у време компилације..
Проверени изузетак односи се на неважеће сценарије који се јављају ван непосредне контроле програма, док се непроверени изузетак односи на грешке у програму или грешке у логици програма које се не могу вратити у време извођења..
Ако метода баци провјерени изузетак, преводилац ће провјерити да ли метода обрађује ту изузетак помоћу блока три-цатцх или ће специфицирати изузетак помоћу кључне ријечи цастс. Ако метода не пружа код за руковање, показаће грешку у компилацији. Напротив, програм се компајлише сасвим добро јер преводилац не проверава Непроверене изузетке у време компилације.
Изузеци који нису изведени из РунТимеЕкцептион-а често се обрађују, док се као изузеци током извођења ретко обрађују. Провера изузећа настаје када су шансе за неуспех превисоке. С друге стране, непроверени изузетак настаје углавном због грешака у програмирању. Све изнимке под класама РунтимеЕкцептион и Еррор су непровјерене изнимке, док су све остале под уклоњивим провјерама изузеци.
Неки примери проверених изузетака су ИОЕкцептион, ДатаАццессЕкцептион, ИллегалАццессЕкцептион, ИнтерруптЕкцептион, ЦлассНотФоундЕкцептион и још много тога. Примери неконтролираних изузетака укључују НуллПоинтерЕкцептион, АритхметицЕкцептион, АрраиИндекОутОфБоунд, ИллегалАргументЕкцептион, ИллегалСтатеЕкцептион, АрраиСтореЕкцептион, СецуритиЕкцептион итд..
Проверена и непроверена изузетак су две врсте изузетака који постоје у Јави. Иако је функционалност за оба изузетака иста, они имају свој правични део разлика. Главна разлика између провјерених и непровјерених изузетака је у томе што прву провјерава преводилац, док други избјегава обавијест преводиоца. Изузеци који се провјеравају и обрађују се у вријеме компилације су провјерени изузеци, док изузеци који се не провјеравају и којима се не поступа у вријеме компилације су непровјерени изузеци. Овај чланак објашњава шта је проверено и шта је неконтролирано изузеће, када их користити, и објашњава разлику између то двоје.