Oracle预定义的Exception

本文介绍了Oracle预定义异常与用户自定义异常的差异。预定义异常由Oracle系统自动检测并抛出,而自定义异常需手动抛出,通常与特定业务流程相关。自定义异常可通过PRAGMA EXCEPTION_INIT设置错误代码,若要携带自定义信息,可使用raise_application_error方法。
摘要由CSDN通过智能技术生成
在PL/SQL代码中,我们除了可以使用Oracle预定义的Exception,还可以自定义属于自己的异常。但是,使用自定义异常要注意的是,异常的声明、定义和抛出场景,都是要编写者手工自己完成。
 
声明异常类型变量
 
PL/SQL中,异常Exception可以作为一种变量类型使用。如果需要使用自定义异常,则首先需要在declare声明段中声明出异常类型变量。声明使用EXCEPTION关键字进行。
 
当我们需要将这个异常抛出的时候,只需要使用raise语句。就可以直接中断当前的代码运行流程,进入Exception处理代码段。在异常处理段中,使用when进行系列匹配,将匹配上的异常变量进行拦截。见下面代码示例:
 
set serveroutput on size 10000;
set timing on;
 
declare
  n_count number;
  too_many exception; --定义一个异常类型变量;
begin 
  select count(*)
  into n_count
  from dba_objects;
 
  if (n_count>10000) then
     raise too_many;  --使用raise抛出异常;
  end if; 
 
  dbms_output.put_line('Normal Stop !');
exception
  when no_data_found then
      dbms_output.put_line('No Data Found !');
  when too_many then  --使用变量名称进行拦截
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值