У овом упутству ћемо научити о изузецима у Јави. Покриваћемо грешке, изузетке и различите врсте изузетака у Јави.
Изузетак је неочекивани догађај који се јавља током извршавања програма. Утиче на ток програмских упутстава због чега се програм може абнормално завршити.
Изузетак се може догодити из многих разлога. Неки од њих су:
- Неважећи унос корисника
- Квар уређаја
- Губитак мрежне везе
- Физичка ограничења (без меморије диска)
- Кодне грешке
- Отварање недоступне датотеке
Јава хијерархија изузетака
Ево поједностављеног дијаграма хијерархије изузетака у Јави.
Као што видите са горње слике, Throwable
класа је основна класа у хијерархији.
Имајте на уму да се хијерархија дели на две гране: Грешка и Изузетак.
Грешке
Грешке представљају непоправљиве услове као што је Јава виртуална машина (ЈВМ) која остаје без меморије, цурење меморије, грешке у преливању стека, некомпатибилност библиотеке, бесконачна рекурзија итд.
Грешке су обично изван контроле програмера и не бисмо требали покушавати да се носимо са њима.
Изузеци
Програм може да ухвати и реши изузетке .
Када се унутар методе догоди изузетак, он креира објекат. Овај објекат назива се објектом изузетка.
Садржи информације о изузетку као што су назив и опис изузетка и стање програма када се изузетак догодио.
Како ћемо се носити са овим изузецима научићемо у следећем упутству. У овом упутству ћемо се сада фокусирати на различите врсте изузетака у Јави.
Типови Јава изузетака
Хијерархија изузетака такође има две гране: RuntimeException
и IOException
.
1. РунтимеЕкцептион
Рунтиме изузетак се дешава због грешке у програмирање. Познати су и као непроверени изузеци .
Ови изузеци се не проверавају током времена компајлирања, већ током извођења. Неки од уобичајених изузетака током извођења су:
- Неправилна употреба АПИ-ја -
IllegalArgumentException
- Приступ нулл показивачу (недостаје иницијализација променљиве) -
NullPointerException
- Приступ изванредном низу -
ArrayIndexOutOfBoundsException
- Дељење броја са 0 -
ArithmeticException
Можете размишљати о томе на овај начин. „Ако је то изузетак током извођења, ви сте криви“.
До NullPointerException
тога не би дошло да сте пре употребе проверавали да ли је променљива иницијализована или не.
До ArrayIndexOutOfBoundsException
тога не би дошло ако сте тестирали индекс низа на основу граница низа.
2. ИОЕкцептион
Ан IOException
је такође познат и као означени изузетак . Компајлер их проверава у време компајлирања и од програмера се тражи да обради ове изузетке.
Неки од примера проверених изузетака су:
- Резултат је покушај отварања датотеке која не постоји
FileNotFoundException
- Покушај читања након краја датотеке
Сада знамо за изузетке, о руковању изузетцима сазнаћемо у следећем водичу.