Ներքին բացառությունները անուղղակիորեն բարձրացվում են գործարկման ժամանակի համակարգի կողմից, ինչպես նաև օգտագործողի կողմից սահմանված բացառությունները, որոնք դուք կապել եք Oracle-ի սխալի հետ՝ օգտագործելով EXCEPTION_INIT: Այնուամենայնիվ, օգտագործողի կողմից սահմանված այլ բացառություններ պետք է բացահայտորեն բարձրացվեն RAISE հայտարարություններով:
Ո՞ր բացառություններն են արծարծվում անուղղակիորեն:
Նախասահմանված բացառությունները բարձրացվում են անուղղակի (ավտոմատ) գործարկման ժամանակի համակարգի կողմից: Օգտատիրոջ կողմից սահմանված բացառությունները պետք է բացահայտորեն բարձրացվեն RAISE հայտարարություններով: Բարձրացված բացառությունները կարգավորելու համար դուք գրում եք առանձին ռեժիմներ, որոնք կոչվում են բացառությունների մշակիչներ:
Ո՞ր բացառությունն է ինքնաբերաբար բարձրացվում Oracle-ի կողմից:
Ներքին բացառություն ինքնաբերաբար բարձրացվում է, եթե ձեր PL/SQL ծրագիրը խախտում է Oracle կանոնը կամ գերազանցում է համակարգից կախված սահմանաչափը: PL/SQL-ը որպես բացառություն նախորոշում է Oracle-ի որոշ սովորական սխալներ: Օրինակ, PL/SQL-ը բարձրացնում է նախապես սահմանված բացառությունը NO_DATA_FOUND, եթե SELECT INTO հայտարարությունը տողեր չի վերադարձնում:
Ի՞նչ է բարձրացման բացառությունը Oracle-ում:
RAISE հայտարարությունը դադարեցնում է PL/SQL բլոկի կամ ենթածրագրի բնականոն կատարումը և կառավարումը փոխանցում բացառությունների մշակողին: RAISE հայտարարությունները կարող են առաջացնել նախապես սահմանված բացառություններ, ինչպիսիք են ZERO_DIVIDE կամ NO_DATA_FOUND, կամ օգտագործողի կողմից սահմանված բացառություններ, որոնց անունները դուք եք որոշել:
Որո՞նք են ոչ կանխորոշված բացառությունները:
Ոչ կանխորոշված բացառությունները նման են նախապես սահմանված բացառություններին, բացառությամբնրանք չունեն նախապես սահմանված անուններ: Նրանք ունեն Oracle-ի ստանդարտ սխալի համար (ORA-) և սխալի հաղորդագրություն: EXCEPTION_INIT ֆունկցիա: Դուք կարող եք ծուղակը գցել ոչ կանխորոշված Oracle սերվերի սխալը՝ նախապես այն հայտարարելով: