Interne unntak økes implisitt av kjøretidssystemet, i likhet med brukerdefinerte unntak som du har knyttet til et Oracle-feilnummer ved å bruke EXCEPTION_INIT. Andre brukerdefinerte unntak må imidlertid fremmes eksplisitt av RAISE-uttalelser.
Hvilke unntak tas opp implisitt?
Forhåndsdefinerte unntak heves implisitt (automatisk) av kjøretidssystemet. Brukerdefinerte unntak må fremheves eksplisitt av RAISE-uttalelser. For å håndtere opphevede unntak, skriver du separate rutiner som kalles unntaksbehandlere.
Hvilket unntak oppstår automatisk av Oracle?
Et internt unntak økes automatisk hvis PL/SQL-programmet ditt bryter en Oracle-regel eller overskrider en systemavhengig grense. PL/SQL forhåndsdefinerer noen vanlige Oracle-feil som unntak. For eksempel øker PL/SQL det forhåndsdefinerte unntaket NO_DATA_FOUND hvis en SELECT INTO-setning returnerer ingen rader.
Hva er raise-unntak i Oracle?
RAISE-setningen stopper normal kjøring av en PL/SQL-blokk eller underprogram og overfører kontrollen til en unntaksbehandler. RAISE-setninger kan gi forhåndsdefinerte unntak, for eksempel ZERO_DIVIDE eller NO_DATA_FOUND, eller brukerdefinerte unntak hvis navn du bestemmer.
Hva er de ikke-forhåndsdefinerte unntakene?
Ikke-forhåndsdefinerte unntak ligner på forhåndsdefinerte unntak, unntattde har ikke forhåndsdefinerte navn. De har et standard Oracle-feilnummer (ORA-) og feilmelding. EXCEPTION_INIT funksjon. Du kan fange en ikke-forhåndsdefinert Oracle-serverfeil ved å erklære den først.