استثناهای داخلی به طور ضمنی توسط سیستم زمان اجرا مطرح می شوند، همانطور که استثنائات تعریف شده توسط کاربر که با استفاده از EXCEPTION_INIT با شماره خطای Oracle مرتبط کرده اید. با این حال، سایر استثناهای تعریف شده توسط کاربر باید به صراحت توسط عبارات RAISE مطرح شوند.
کدام استثناها به طور ضمنی مطرح می شوند؟
استثناهای از پیش تعریف شده به طور ضمنی (به طور خودکار) توسط سیستم زمان اجرا مطرح می شوند. استثناهای تعریف شده توسط کاربر باید به صراحت توسط عبارات RAISE مطرح شوند. برای رسیدگی به استثناهای مطرح شده، روال های جداگانه ای به نام کنترل کننده استثنا می نویسید.
کدام استثنا به طور خودکار توسط Oracle مطرح می شود؟
اگر برنامه PL/SQL شما یک قانون Oracle را نقض کند یا از حد وابسته به سیستم فراتر رود، یک استثنا داخلی به طور خودکار افزایش می یابد. PL/SQL برخی از خطاهای رایج Oracle را به عنوان استثنا از پیش تعریف می کند. به عنوان مثال، PL/SQL استثنای از پیش تعریف شده NO_DATA_FOUND را افزایش می دهد اگر دستور SELECT INTO هیچ ردیفی برگرداند.
استثنای افزایش در اوراکل چیست؟
دستور RAISE اجرای عادی بلوک یا زیربرنامه PL/SQL را متوقف می کند و کنترل را به یک کنترل کننده استثناء منتقل می کند. دستورات RAISE میتوانند استثناهای از پیش تعریفشدهای مانند ZERO_DIVIDE یا NO_DATA_FOUND یا استثنائات تعریفشده توسط کاربر که نامشان را انتخاب میکنید، ایجاد کنند.
استثناهای از پیش تعریف نشده چیست؟
استثناهای غیر از پیش تعریف شده مشابه استثناهای از پیش تعریف شده هستند، به جزآنها نام های از پیش تعریف شده ندارند. آنها یک شماره خطای استاندارد Oracle (ORA-) و پیام خطا دارند. تابع EXCEPTION_INIT. میتوانید ابتدا خطای غیر از پیش تعریفشده سرور Oracle را با اعلام آن به دام بیاندازید.