logo

Руковање изузецима у Јави

  1. Изузетак руковање
  2. Предност управљања изузецима
  3. Хијерархија класа изузетака
  4. Врсте изузетака
  5. Пример изузетка
  6. Сценарији у којима може доћи до изузетка

Тхе Руковање изузецима у Јави је један од моћних механизам за руковање грешкама током извођења тако да се може одржати нормалан ток апликације.

У овом водичу ћемо научити о Јава изузецима, њиховим типовима и разлици између проверених и непроверених изузетака.

менаџер задатака за линукс

Шта је изузетак у Јави?

Речник Значење: Изузетак је ненормално стање.

У Јави, изузетак је догађај који омета нормалан ток програма. То је објекат који се баца у време извођења.

Шта је руковање изузецима?

Руковање изузецима је механизам за руковање грешкама током извршавања као што су ЦлассНотФоундЕкцептион, ИОЕкцептион, СКЛЕкцептион, РемотеЕкцептион, итд.

Предност управљања изузецима

Основна предност руковања изузетцима је за одржавање нормалног тока апликације . Изузетак обично ремети нормалан ток апликације; зато треба да се бавимо изузецима. Хајде да размотримо сценарио:

 statement 1; statement 2; statement 3; statement 4; statement 5;//exception occurs statement 6; statement 7; statement 8; statement 9; statement 10; 

Претпоставимо да постоји 10 наредби у Јава програму и да се изузетак догоди у наредби 5; остатак кода се неће извршити, тј. наредбе 6 до 10 неће бити извршене. Међутим, када извршимо руковање изузецима, остатак наредби ће се извршити. Зато користимо обраду изузетака у Јава .

Да ли знаш?
  • Која је разлика између проверених и непроверених изузетака?
  • Шта се дешава иза кода инт дата=50/0;?
  • Зашто користити вишеструки блок за хватање?
  • Постоји ли могућност да се финалли блок не изврши?
  • Шта је ширење изузетака?
  • Која је разлика између кључне речи тхров и тхровс?
  • Која су 4 правила за коришћење руковања изузецима са заменом метода?

Хијерархија класа Јава изузетака

Класа јава.ланг.Тхровабле је основна класа хијерархије Јава Екцептион коју наслеђују две подкласе: Екцептион и Еррор. Хијерархија Јава Екцептион класа је дата у наставку:

хијерархија обраде изузетака

Типови Јава изузетака

Углавном постоје две врсте изузетака: означени и непотврђени. Грешка се сматра непровереним изузетком. Међутим, према Орацле-у, постоје три врсте изузетака и то:

  1. Проверен изузетак
  2. Неозначен изузетак
  3. Грешка
хијерархија обраде изузетака

Разлика између проверених и непроверених изузетака

1) Проверен изузетак

Класе које директно наслеђују класу Тхровабле осим РунтимеЕкцептион и Еррор познате су као проверени изузеци. На пример, ИОЕкцептион, СКЛЕкцептион, итд. Проверени изузеци се проверавају у време компајлирања.

2) Неозначени изузетак

Класе које наслеђују РунтимеЕкцептион познате су као непроверени изузеци. На пример, АритхметицЕкцептион, НуллПоинтерЕкцептион, АрраиИндекОутОфБоундсЕкцептион, итд. Неозначени изузеци се не проверавају у време компајлирања, али се проверавају током извршавања.

3) Грешка

Грешка је непоправљива. Неки примери грешака су ОутОфМемориЕррор, ВиртуалМацхинеЕррор, АссертионЕррор итд.

Кључне речи Јава Екцептион

Јава пружа пет кључних речи које се користе за руковање изузетком. Следећа табела описује сваки од њих.

Кључна речОпис
покушатиКључна реч 'три' се користи да одредимо блок у који треба да поставимо код изузетка. То значи да не можемо сами да користимо три блоцк. Блок три мора бити праћен или цатцх или коначно.
уловБлок 'цатцх' се користи за руковање изузетком. Мора да му претходи три блок што значи да не можемо да користимо само цатцх блок. Касније може бити праћено коначном блокадом.
коначноБлок 'финалли' се користи за извршавање потребног кода програма. Извршава се без обзира да ли се обрађује изузетак или не.
бацитиКључна реч 'тхров' се користи за избацивање изузетка.
бацаКључна реч 'тхровс' се користи за декларисање изузетака. Наводи да може доћи до изузетка у методи. Не прави изузетак. Увек се користи са потписом методе.

Пример руковања изузецима Јава

Хајде да видимо пример Јава руковања изузетком у којем користимо наредбу три-цатцх за руковање изузетком.

ЈаваЕкцептионЕкампле.јава

 public class JavaExceptionExample{ public static void main(String args[]){ try{ //code that may raise exception int data=100/0; }catch(ArithmeticException e){System.out.println(e);} //rest code of the program System.out.println('rest of the code...'); } } 
Тестирајте одмах

Излаз:

 Exception in thread main java.lang.ArithmeticException:/ by zero rest of the code... 

У горњем примеру, 100/0 подиже АритхметицЕкцептион којим се рукује блоком три-цатцх.

Уобичајени сценарији Јава изузетака

Дати су неки сценарији у којима се могу појавити непроверени изузеци. Они су следећи:

1) Сценарио где се јавља АритхметицЕкцептион

Ако било који број поделимо са нулом, јавља се аритметички изузетак.

 int a=50/0;//ArithmeticException 

2) Сценарио где се јавља НуллПоинтерЕкцептион

Ако имамо нулту вредност у било ком променљива , извођење било које операције над променљивом избацује НуллПоинтерЕкцептион.

 String s=null; System.out.println(s.length());//NullPointerException 

3) Сценарио где се јавља НумберФорматЕкцептион

Ако се форматирање било које променљиве или броја не подудара, то може довести до НумберФорматЕкцептион. Претпоставимо да имамо а низ променљива која има знакове; претварање ове променљиве у цифру ће изазвати НумберФорматЕкцептион.

 String s='abc'; int i=Integer.parseInt(s);//NumberFormatException 

4) Сценарио у којем се појављује АрраиИндекОутОфБоундсЕкцептион

Када низ премаши своју величину, појављује се изузетак АрраиИндекОутОфБоундсЕкцептион. могу постојати и други разлози за појаву изузетка АрраиИндекОутОфБоундсЕкцептион. Размотрите следеће изјаве.

 int a[]=new int[5]; a[10]=50; //ArrayIndexOutOfBoundsException 

Индекс Јава изузетака

  1. Јава Три-Цатцх Блоцк
  2. Јава Мултипле Цатцх Блоцк
  3. Јава Нестед Три
  4. Јава Финалли Блоцк
  5. Јава Тхров Кеиворд
  6. Пропагација Јава изузетака
  7. Јава Тхровс Кеиворд
  8. Јава бацање против бацања
  9. Јава Финал вс Финалли вс Финализе
  10. Руковање Јава изузецима са заменом метода
  11. Јава прилагођени изузеци