Interní výjimky jsou vyvolány implicitně run-time systémem, stejně jako uživatelem definované výjimky, které jste přiřadili k číslu chyby Oracle pomocí EXCEPTION_INIT. Jiné uživatelem definované výjimky však musí být vyvolány výslovně příkazy RAISE.
Které výjimky jsou uvedeny implicitně?
Předdefinované výjimky jsou vyvolány implicitně (automaticky) runtime systémem. Uživatelsky definované výjimky musí být explicitně vyvolány příkazy RAISE. Ke zpracování zvýšených výjimek napíšete samostatné rutiny nazývané handlery výjimek.
Kterou výjimku automaticky vyvolává Oracle?
Pokud váš PL/SQL program poruší pravidlo Oracle nebo překročí limit závislý na systému, automaticky se vyvolá interní výjimka. PL/SQL předdefinuje některé běžné chyby Oracle jako výjimky. Například PL/SQL vyvolá předdefinovanou výjimku NO_DATA_FOUND, pokud příkaz SELECT INTO nevrátí žádné řádky.
Co je výjimka zvýšení v Oracle?
Příkaz RAISE zastaví normální provádění PL/SQL bloku nebo podprogramu a přenese řízení na obsluhu výjimky. Příkazy RAISE mohou vyvolat předdefinované výjimky, jako je ZERO_DIVIDE nebo NO_DATA_FOUND, nebo uživatelem definované výjimky, jejichž názvy si určíte sami.
Jaké jsou nepředdefinované výjimky?
Nepředdefinované výjimky jsou podobné předdefinovaným výjimkám, exceptnemají předdefinovaná jména. Mají standardní číslo chyby Oracle (ORA-) a chybovou zprávu. Funkce EXCEPTION_INIT. Nepředdefinovanou chybu serveru Oracle můžete zachytit tak, že ji nejprve deklarujete.