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