Разлика између грешке и изузетка у Јави

Аутор: Laura McKinney
Датум Стварања: 2 Април 2021
Ажурирати Датум: 6 Може 2024
Anonim
Java Multithreading : AtomicReference, ScheduledExecutorService и монада Either. Многопоточность.
Видео: Java Multithreading : AtomicReference, ScheduledExecutorService и монада Either. Многопоточность.

Садржај


„Бацљив“ делује као корен Јава-ове хијерархије грешака и изузетка. "Грешка" је критично стање које се не може решити кодом програма. „Изузетак“ је изузетна ситуација која се може средити кодом програма. Значајна разлика између грешке и изузетка је та грешка настаје због недостатка ресурса система и изузетак настаје због вашег кода. Испитајмо остале разлике између грешке и изузетка заједно са упоредним табелом.

  1. Упоредни графикон
  2. Дефиниција
  3. Кључне разлике
  4. Закључак

Упоредни графикон

Основе за упоређивањеГрешкаИзузетак
ОсновниДо грешке је дошло због недостатка ресурса система.Изузетак је настао због кода.
ОпоравакГрешка није могућа.Изузетак се надокнађује.
Кључне речиНема програмског кода за решавање грешке.Изузеци се обрађују помоћу три кључне речи „пробај“, „ухвати“ и „баци“.
Последице
Када се открије грешка, програм ће се прекинути ненормално.Као откривени изузетак, кључне речи „баци“ и „улови“ одговарајуће их бацају и хватају.
Врсте Грешке су класификоване као непровјерени тип.Изузеци су класификовани као проверени или непроверени тип.
Пакет У Јави су грешке дефинисане „јава.ланг.Еррор“ пакетом.У Јави су изузеци дефинисани у "јава.ланг.Екцептион".
ПримерОутОфМемори, СтацкОверФлов.Проверене изузетке: НоСуцхМетход, ЦлассНотФоунд.
Непроверени изузеци: НуллПоинтер, ИндекОутОфБоундс.


Дефиниција грешке

Грешка"Је поткласа уграђене класе" Тхровабле ". Грешке су критична стања која се јављају због недостатка ресурса система, а њима се не може управљати кодом програма. Грешке се не могу санирати ни на који начин јер их није могуће створити, бацити, ухватити или одговорити на њих. Грешке настају због катастрофалног квара који обично не може да реши ваш програм.

Грешке су увек неконтролираног типа, јер преводилац нема сазнања о њеном појављивању. Грешке се увек јављају у окружењу које је покренуто. Грешка се може објаснити помоћу примера, програм има грешку претицања скупа, грешку ван меморије или грешку пад сустава, ова врста грешке је последица система. Код није одговоран за такве грешке. Последица појаве грешке је да се програм абнормално прекида.

Дефиниција изузећа

„Изузетак“ је такође подразред уграђене класе „Тхровабле“. Изузеци су изузетни услови који настају у рунтиме окружењу. У већини случајева изузеци се дешавају због кода нашег програма. Али, изнимке може сам решити програм, јер се изузеци могу надокнадити. Изузеци се обрађују помоћу три кључне речи „пробати“, „ухватити“, „бацити“. Синтакса писања изузетака је:


покушајте {// овде напишите свој код}} Ухватити (врста изузетка) {// овде напишите свој код}

У горњем коду, код исписан у блоку проба је код који желите да надгледате изузетак. Ако се изузетак догоди у покушају, блокира се помоћу кључне речи „баци“. Бачени изузетак може бити ухваћен блоком "цатцх" наведеног кода. „Изузетак типа“ је врста изузетка који се догодио.

Једноставним речима можемо рећи да су грешке настале због непрописног кода називају се изузеци. На примјер, ако није пронађена тражена класа или није пронађена тражена метода. Ове врсте изузетака настају због кода у програму; систем није одговоран за ове врсте изузетака. Изузеци су класификовани као „провјерени“ и „непровјерени“. Непроверени изузеци нису у знању преводиоца као што се дешавају за време извршавања, док преводилац има знање о провереним изузецима као што је познато да преводилац за време компилације.

  1. До грешке долази само када недостају ресурси система, а изузетак је ако код има неки проблем.
  2. Грешка се никада не може вратити, док се изузетак може опоравити припремањем кода за обраду изузећа.
  3. Грешка се никада не може обрадити, али изузетак се може обрадити кодом ако је код који баца изузетак написан унутар блока покушај улова.
  4. Ако се десила грешка, програм ће се ненормално прекинути. С друге стране, ако се догоди изузетак, програм ће изузети изузетак и њиме се управља помоћу блока покушај улова.
  5. Грешке су неконтролираног типа, тј. Грешка није у знању преводилаца, а изузетак је класификован као проверен и непроверен.
  6. Грешке су дефинисане у пакету јава.ланг.Еррор док је, изузетак, дефинисан јава.ланг.Екцептион.

Закључак:

Изузеци су резултати грешака направљених у кодирању програма, а грешке су последица неправилног функционисања система