Како поступати са прилагођеним изузецима у Јави?



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

пружа кориснику могућност стварања сопствених изузетака. Такви изузеци су познати под називом Прилагођени изузеци или Кориснички дефинисани изузеци. У овом чланку ћемо истражити прилагођене изузетке у Јави.

Следећи смерници ће бити обрађени у овом чланку,





Први кораци овај чланак о прилагођеним изузецима на Јави.

Прилагођени изузеци у Јави

Прилагођени изузеци се могу креирати на следећи начин,



[Јава]
// класа која представља кориснички дефинисан изузетак
класа ИнвалидАгеЕкцептион продужава Екцептион {
ИнвалидАгеЕкцептион (стрингови) {
супер
}
}
[/ јава]

// класа која користи ИнвалидАгеЕкцептион класу Тест {статиц воид валидате (инт аге) баца ИнвалидАгеЕкцептион {иф (аге<18) throw new InvalidAgeException('Invalid') else System.out.println('Eligible to Drive') } public static void main(String args[]){ try{ validate(15) }catch(Exception m){System.out.println('Exception: '+m)} System.out.println('Exit') } } 

Излаз:

Изузетак: ИнвалидАгеЕкцептион: Неважеће



Излаз

Настављамо са овим чланком о прилагођеним изузецима на Јави.

Потреба за прилагођеним изузецима

Често програмер нађе потребу да наведе сопствени изузетак.

Разлози за увођење ових изузетака могу бити следећи:

  • Постоје одређени изузеци који су дефинисани само за пословну логику и ток посла. Ово омогућава корисницима да утврде извор проблема.
  • Да ухвати и обради постојеће или претходно дефинисане Јава изузетке.

Јава пружа кориснику два изузетка:

  • Прилагођени означени изузетак
  • Прилагођени непроверени изузетак

Настављамо са овим чланком о прилагођеним изузецима на Јави.

Прилагођени проверени изузеци

Прилагођени проверени изузеци су изузеци који проширују јава.ланг.Екцептион. Они се у природи могу обновити и њима се експлицитно рукује. У следећем примеру је написан код који враћа први ред датотеке као излаз:

покушајте (датотека скенера = нови скенер (нова датотека (име датотеке))) {иф (филе.хасНектЛине ()) ретурн филе.нектЛине ()} цатцх (ФилеНотФоундЕкцептион е) {}

Код баца изузетак ФилеНотФоунд. Узрок овог изузетка је непознат кориснику. Није нам познат извор изузетка, било да је до њега дошло због непостојања датотеке или због неисправног имена датотеке. За примену прилагођеног изузетка, класа јава.ланг.Екцептион је проширена.

јавна класа ИнвалидФилеНамеЕкцептион проширује изузетак {публиц ИнвалидФилеНамеЕкцептион (Стринг еррорМессаге) {супер (еррорМессаге)}}

Креира се прилагођени проверени изузетак под називом ИнвалидФилеНамеЕкцептион.

Приликом креирања изузетка мора се навести конструктор. У нашем случају, конструктор узима Стринг као поруку грешке и позива конструктор родитељске класе.

пробајте (датотека скенера = нови скенер (нова датотека (име датотеке))) {иф (филе.хасНектЛине ()) врати датотеку.нектЛине ()} ухватите (ФилеНотФоундЕкцептион е) {иф (! исЦоррецтФилеНаме (име датотеке)) {баците ново ИнвалидФилеНамеЕкцептион ( 'Неважеће име датотеке:' + име датотеке)}}

Иако је корисник сада свестан тачног изузетка, изгубили смо основни узрок изузетка. То се може поправити додавањем јава.ланг.Тхровабле у конструктор. ИнвалидФилеНамеЕкцептион се сада може користити са основним узроком изузетка:

јавни ИнвалидФилеНамеЕкцептион (Стринг еррорМессаге, грешка у бацању) {супер (еррорМессаге, ерр)}

Настављамо са овим чланком о прилагођеним изузецима на Јави

улоге и одговорности линук администратора

Прилагођени непроверени изузеци

Прилагођени проверени изузеци проширују јава.ланг.РунтимеЕкцептион. По својој природи су непоправљиви.

јавна класа ИнвалидФилеЕктенсионЕкцептион проширује РунтимеЕкцептион {публиц ИнвалидФилеЕктенсионЕкцептион (Стринг еррорМессаге, Тхровабле еррор) {супер (еррорМессаге, ерр)}}

Овај изузетак се користи на следећи начин:

пробајте (датотека скенера = нови скенер (нова датотека (име датотеке))) {иф (филе.хасНектЛине ()) {ретурн филе.нектЛине ()} елсе {баците нови ИллегалАргументЕкцептион ('Датотека се не може читати.')}} цатцх ( ФилеНотФоундЕкцептион ерр) {иф (! ИсЦоррецтФилеНаме (филеНаме)) {тхров нев ИнвалидФилеНамеЕкцептион ('Инвалид филенаме:' + филеНаме, ерр)}} цатцх (ИллегалАргументЕкцептион ерр) {иф (! ЦонтаинсЕктенсион (филеНаме) )целе нев (ФилеНаме)) нема екстензију: '+ филеНаме, грешка)}}

Кориснички дефинисани изузеци су од суштинског значаја јер нам омогућавају да дефинишемо сопствене изузетке.

Тако смо дошли до краја овог чланка. Ако желите да сазнате више, погледајте Јава Траининг компаније Едурека, поуздане компаније за учење на мрежи. Едурекин курс за обуку и сертификацију Јава Ј2ЕЕ и СОА осмишљен је тако да вас оспособи за основне и напредне Јава концепте заједно са разним Јава оквирима попут Хибернате & Спринг.

Имате питање за нас? Молимо вас да га помените у одељку за коментаре на овом блогу и јавићемо вам се што је пре могуће.