自定义例外: 定义变量,类型是:exception;
使用raise抛出自定义例外。
例子:查询50号部门的员工姓名
1 --自定义例外:查询50号部门的员工姓名 2 set SERVEROUTPUT ON 3 4 declare 5 --定义光标,代表50号部门的员工姓名 6 cursor cemp is select ename from emp where deptno=50; 7 pename emp.ename%type; 8 --自定义例外 9 no_emp_found exception; 10 11 begin 12 --打开光标 13 open cemp; 14 15 --直接取一个员工的姓名 16 fetch cemp into pename; 17 18 if cemp%notfound then 19 --抛出例外 20 raise no_emp_found; 21 end if; 22 23 --关闭光标 24 --Oracle自动启动pmon(process monitor) 25 close cemp; 26 27 exception 28 when no_emp_found then dbms_output.put_line('没有找到员工'); 29 when others then DBMS_OUTPUT.PUT_LINE('其他例外'); 30 end; 31 /
结果: