Основы (асослар)


Мустаснони қайта содир этиш


Download 0.95 Mb.
bet40/58
Sana28.12.2022
Hajmi0.95 Mb.
#1011518
1   ...   36   37   38   39   40   41   42   43   ...   58
Bog'liq
PL-SQL Маъруза матни

Мустаснони қайта содир этиш


Баъзан мустаснони қайтадан содир этиш зарурияти туғилади. Sometimes, you want to reraise an exception, that is, handle it locally, then pass it to an enclosing block. For example, you might want to roll back a transaction in the current block, then log the error in an enclosing block.
Мустаснони қайта содир этиш учун ишлов берувчи қисми ичида RAISE жумласини ёзиш кифоя бўлади:
DECLARE
out_of_balance EXCEPTION;
BEGIN
...
BEGIN ---------- қисм-блок боши
...
IF ... THEN
RAISE out_of_balance; -- мустасно содир этилади
END IF;
EXCEPTION
WHEN out_of_balance THEN
-- хатоликга ишлов берилади
RAISE; -- жорий мустасно қайта содир этилади
END; ------------ қисм-блок охири
EXCEPTION
WHEN out_of_balance THEN

  • хатоликга фарқли ишлов берилади

...
END;


Содир этилган мустасноларга ишлов бериш


Мустасно содир этилса, одатда қуйидагича уни ишлов бериш мақсадга мувофиқ бўлади:
EXCEPTION
WHEN мустасно_номи1 THEN --ишлов берувчи
жумлалар_кетма_кетлиги
WHEN мустасно_номи2 THEN–-бошқа ишлов берувчи
жумлалар_кетма_кетлиги2
...
WHEN OTHERS THEN --ишлов берувчи
жумлалар_кетма_кетлиги3
END;

Мустаснони ушлаб олиш учун, мустаснога ишлов берувчиси ёзилади. Хар бир ишлов берувчи мустаснони аниқловчи WHEN жумласи ва бажарилиши лозим бўлган жумлалар кетма-кетлигидан таркиб топган. Ушбу жумлалар кетма-кетлиги блок ёки қисмдастурни бажарилишини тугатади ва бошқарув мустасно содир этилган жойга қайтарилмайди.


The optional OTHERS ишлов берувчиси барча махсус номланмаган мустасноларга ишлов бериш учун ишатилади ва у сўнги ишлов берўвчиси бўлиши лозим:
EXCEPTION
WHEN ... THEN
-- хатоликга ишлов берилади
WHEN ... THEN
-- хатоликга ишлов берилади
WHEN OTHERS THEN
-- барча бошқа хатоликларга ишлов берилади
END;

Иккита ва ундан кўп мустасноларга бирданига бир хил ишлов бериш мумкин:


EXCEPTION
WHEN over_limit OR under_limit OR VALUE_ERROR THEN
-- хатоликга ишлов берилади



Download 0.95 Mb.

Do'stlaringiz bilan baham:
1   ...   36   37   38   39   40   41   42   43   ...   58




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling