数据库中的例外(异常)

在写程序时难免会遇到程序出现错误,也就是程序出现了异常,而在pl/sq编程中异常有一种另外的名称叫做例外。它是负责处理sql异常的,当出现了例外,从而采取一些补救程序的措施。

在pl/sql中有系统异常,有自定义的异常。

一,异常的声明

  declare

  begin

  exception

    when 异常1 then

       执行操作

    when 异常2 then

        执行操作
    when others then
    处理其它异常
  end;
例如:

    declare
      val number;
    begin
      val := 10 / 0;
    exception
      when zero_divide then
        dbms_output.put_line('发生了除零异常');
      when others then
        dbms_output.put_line('发生了其他异常');
    end;

  如果不知道错误类型,则可以通过使用预定义函数SQLCODE()和SQLERRM()来获得系统错误号和错误信息。

二,自定义异常:
    --查询工号为8888的员工,如果没有就输出不存在。

    declare
      cursor vrows is
      select * from emp where empno = 8888;
      vrow emp%rowtype;
      no_emp exception;//声明自定义异常
   begin
      open vrows;
      fetch vrows
        into vrow;
      if vrows%notfound then
        raise no_emp;//抛出自定义异常
      end if;
      close vrows;
   exception
      when no_emp then//处理自定义异常
        dbms_output.put_line('没有该员工并抛出了一个自定义异常');
   end;

以上就是异常的基础知识和基本用法。

posted @ 2019-05-27 20:52  jason小蜗牛  阅读(565)  评论(0编辑  收藏  举报