Како имплементирати руковање изузецима у Ц ++?



Овај чланак ће вам помоћи да разумете шта је руковање изузецима и како практичном демонстрацијом применити руковање изузецима у Ц ++.

Изузеци су ненормални услови током времена извођења или времена компајлирања. је врло битан концепт у језику ц ++. Овај чланак ће вас упознати са руковањем изузецима у Ц ++-у, заједно са различитим врстама.

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





Па кренимо онда,

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

Врсте изузетака

Постоје две врсте изузетака,



Изузетак времена извођења

То је изузетак ухваћен током времена извођења.

Изузетак током компајлирања



То је изузетак ухваћен током времена компајлирања.

Настављајући са овим чланком о руковању изузецима на језику Ц ++,

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

Грешке ремете нормално извршавање програма. Руковање изузецима је врло неопходно и то је поступак руковања грешкама или изузецима. Осигурава да изузеци не утичу на извршење програма и полако се рукује њима без изазивања било каквих проблема са извршавањем програма.

Када узмете у обзир руковање изузецима, уз њега су повезана три израза,

Покушати

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

Улов

пхп мискл_фетцх_арраи

Код у овом блоку се извршава када код у блоковима три баци изузетак.

Баци

Ова кључна реч се користи за избацивање изузетка када се наиђе. Изузетак се шаље обрађивачу изузетака.

Синтакса:

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

Погледајмо узорак кода за руковање изузецима у језику ц ++

Узорак кода

#инцлуде усинг спаце намес стд три {// код за три тхров & лдкуоекцептион & рдкуо} цатцх (изузетак) {// цоде фор цатцх} инт маин () {инт к = 1 три {цоут<< 'Try Block: '<

Излаз:

Излаз - руковање изузецима у Ц ++ - Едурека

Објашњење

Овај програм показује руковање изузецима. Имамо променљиву к, којој је додељена вредност 1. Тада имамо почетак блока три. У овом блоку имамо израз иф са условом к<10.

У нашем случају, услов је тачан као што је к један. Програм затим баца изузетак и контрола се пребацује да ухвати блок. Извршавамо услов у делу цатцх и излазимо из блока.

ухватити (...) {трошак<< 'Default Exceptionn'<

На крају, извршавамо преостале изјаве након блока цатцх и излазног програма.

Изјава о улову може бити вишеструка, у зависности од броја могућих изузетака.

Настављајући са овим чланком о руковању изузецима на језику Ц ++,

Неуспех блокаде хватања

Размотрите претходни програм, ако уместо к кључна реч тхров баци „АБЦ“, тада функција цатцх неће моћи да се носи са њом. Показаће грешку,

У том случају се може приказати наша победничка порука о грешци.

Да бисмо то решили, потребно је да додамо подразумевану функцију улова у код за решавање таквих проблема.

#инцлуде усинг намеспаце стд инт маин () {инт к = 1 три {цоут<< 'Try Block: '<

Излаз:

Објашњење:

Овај код је сличан претходном. Једина промена је што је избачени изузетак типа цхар. То резултира бескорисношћу наше функције улова. Дакле, укључили смо задану функцију цатцх.

Ако се ниједан од израза цатцх не подудара, тада се извршава задани цатцх.

Више блокова улова

Може бити више блокова улова у једном блоку покушаја.

Ево примера,

#инцлуде усинг спаце намес стд инт тест (инт а) {три {иф (а<0) throw a else throw 'a' }catch(int a){ cout<<'Caught an integer: ' << a<

Излаз:

шта је вишеструко наслеђивање у јави

Објашњење:

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

У другом случају, вредност је мања од 0, па се вредност -1 баца и хвата се целобројним изузетком

Руковање изузецима у основној и изведеној класи:

Ако се ухвате изузеци основне и изведене класе, тада се изведба изведене класе мора извршити пре основне класе.

Ево неколико изузетака:

  • стд :: изузетак

  • еррор_еррор

  • грешка у раду

  • бад_аллоц

  • бад_цаст

  • бад_екцептион

Овим смо дошли до краја овог блога на тему „Изузетно руковање у Ц ++“. Надам се да вам је ово било информативно и корисно, пратите нас са више лекција о сличним темама. Такође можете погледати наш програм обуке то можете добити детаљно знање о јКуери-у, заједно са разним апликацијама за онлајн обуку уживо са подршком 24/7 и доживотним приступом.

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