Разлика между проверени и непроверени изключения

Обработката на изключения в Java е един от мощните механизми за обработка на специфични грешки, които възникват в кодова последователност по време на изпълнение. Изключение не е нищо друго освен грешка по време на изпълнение, която нарушава нормалния поток на приложението.

Обикновено се среща в парче код и когато се случи, обект, представляващ това изключение, се създава и хвърля в метода, който го е причинил. В резултат на това програмата или приложението се прекъсват, което води до прекратяване на приложението, което не се препоръчва. Ето защо тези изключения трябва да се обработват и тук механизмът за обработка на изключения идва на картината.

Има два вида изключения, които съществуват в Java - Проверено и Непроверено изключение. В тази статия ще обсъдим подробно какво е проверено и непроверено изключение и кога да ги използваме, и накрая, ще видим разликата между двете.

Разлика между проверени и непроверени изключения

Какво е Проверено изключение в Java?

Това са изключенията, които се проверяват и обработват по време на компилиране. Java дефинира няколко класа изключения в стандартния пакет java.lang , а най -често срещаните изключения са подкласовете от стандартния тип RuntimeException .

Тези изключения, които възникват в области извън непосредствения контрол на програмата, са известни като проверени изключения. Ако метод изхвърля проверено изключение по време на компилиране, което не може да се справи сам, тогава той трябва да обработва изключението в блок catch {} или да декларира изключението с помощта на ключовата дума throws , в противен случай ще даде грешка при компилиране. Компилаторът проверява типа на обекта на изключението за всеки оператор за хвърляне и ако той показва отметка, компилаторът проверява изходния код, за да се увери, че изключението се обработва в метода, където е хвърлено или е декларирано, така че да може да се обработва по -нататък.

Всички изключения, описани от Exception, които са неговите директни подкласове, с изключение на RuntimeException, се наричат ​​проверени изключения. Сега кога да използваме проверено изключение? Можете да изберете да използвате проверено изключение, когато знаете точно какво да направите, когато възникне изключение или когато шансовете за неуспех са повече. Някои примери за проверени изключения в Java библиотеката включват IOException, DataAccessException, IllegalAccessException, InterruptException, ClassNotFoundException, InvocationTargetException и др.

Разлика между проверени и непроверени изключения

Какво е Непроверено изключение в Java?

Това са изключенията, които не се проверяват по време на компилиране. Непровереното изключение представлява състояние, което обикновено отразява грешки в логиката на програмата и което не може да бъде възстановено по време на изпълнение.

С прости думи, непровереното изключение е изключение, което не е уловено в блок try-catch . Не е необходимо да бъдат уловени изрично. Всъщност, когато възникне непроверено изключение, Java обработва изключението автоматично. Непроверените изключения възникват най -вече поради програмни грешки, като например при достъп до елемент извън свързване на масив или достъпен метод на нулев обект. В Java всички изключения под throwble са проверени изключения, докато изключенията, които са директни подкласове на Error и RuntimeException, са непроверени изключения.

Най -добрата част от неконтролираното изключение е, че не намалява четливостта на кода, като същевременно поддържа клиентския код чист. Някои примери за непроверени изключения включват ArithmeticException, ClassCastException, NullPointerException, ArrayIndexOutOfBound, IllegalArgumentException, IllegalStateException, ArrayStoreException, SecurityException и др.

Разлика между Проверено и Непроверено изключение

Определение на изключено с отметка

Проверени и непроверени изключения са двата типа изключения, съществуващи в Java, за да се осигури нормален поток на приложението. И двете служат за една и съща цел, която е да се справят с изключенията в Java и въпреки че няма разлика във функционалността, няма единно правило, което да определи кога да се използва проверено и кога да се използва изключено изключение. Провереното изключение е изключение, което се проверява по време на компилиране, докато Непроверено изключение е това, което не се проверява по време на компилиране.

Основи на проверените и непроверените изключения

Проверено изключение се отнася до невалидните сценарии, които възникват извън непосредствения контрол на програмата, докато непровереното изключение се отнася до грешки в програмата или грешки в логиката на програмата, които не могат да бъдат възстановени по време на изпълнение.

Обработка на изключения

Ако метод хвърля проверено изключение, компилаторът ще провери дали методът обработва това изключение, като използва блок try-catch, или ще посочи изключението, използвайки ключовата дума throws. Ако методът не предоставя код за обработка, той ще покаже грешка при компилирането. Напротив, програмата се компилира добре, защото компилаторът не проверява за Непроверени изключения по време на компилиране.

Причина за проверено и непроверено изключение

Изключенията, които не са получени от RunTimeException, често се обработват, докато тъй като изключенията, възникващи по време на изпълнение, рядко се обработват. Проверено изключение възниква, когато шансовете за неуспех са твърде високи. Непровереното изключение, от друга страна, възниква най -вече поради грешки в програмирането. Всички изключения в класовете RuntimeException и Error са непроверени изключения, докато всичко останало в throwble са проверени изключения.

Примери за проверени и непроверени изключения

Някои примери за проверени изключения са IOException, DataAccessException, IllegalAccessException, InterruptException, ClassNotFoundException и др. Примерите за непроверени изключения включват NullPointerException, ArithmeticException, ArrayIndexOutOfBound, IllegalArgumentException, IllegalStateException, ArrayStoreException, SecurityException и др.

Проверено срещу Непроверено изключение: Сравнителна диаграма

Проверено изключение VERSUS Непроверено изключение

Обобщение на проверените и непроверените изключения

Проверени и непроверени изключения са двата типа изключения, които съществуват в Java. Въпреки че функционалността е еднаква и за двете изключения, те имат справедлив дял от разликите. Основната разлика между проверените и непроверените изключения е, че първото се проверява от компилатора, докато последното избягва забележката на компилатора. Изключенията, които се проверяват и обработват по време на компилиране, са проверени изключения, докато изключенията, които не са проверени и обработени по време на компилиране, са непроверени изключения. Тази статия обяснява какво е проверено и кое непроверено изключение, кога да ги използвате и обяснява разликата между двете.

Вижте повече за: ,