• 异常的认识


    异常就是在Oracle数据库中运行时出现的错误

    异常在PL/SQL执行过程中很可能出现

    对异常如果不进行处理,异常会中断程序的运行

    语法:

    EXCEPTION

      WHEN exception1 [OR exception2 . . .] THEN

        statement1;

        statement2;

        . . .

      [WHEN exception3 [OR exception4 . . .] THEN

        statement1;

        statement2;

        . . .]

      [WHEN OTHERS THEN

        statement1;

        statement2;

        . . .]

    捕获异常的规则

    EXCEPTION 关键词开始异常处理部分

    WHEN OTHERS 为最后的一条子句

    可以设置多个异常处理句柄

    在异常块中,只有一个句柄会处理异常

    1、预定义异常(总计21种,具体见文档)

    常用类型:

        NO_DATA_FOUND       --ORA-01403-- 未找到行

        TOO_MANY_ROWS       --ORA-01422--SELECT INTO 语句返回多行数据

        VALUE_ERROR         --ORA-06502-- 类型转换错误

        ZERO_DIVIDE         --ORA-01476-- 程序尝试除以 0

     STORAGE_ERROR       --ORA-06500--PL/SQL 运行时内存溢出或内存不足

    2、非预定义异常(EXCEPTION_INIT )

    需要在declare中申明,申明后使用即与预定义异常相同。

     

    案例1:

    declare

       emp employees%rowtype;

    begin

       select * into emp from employees where employee_id = 333;

       --异常开始捕获

       exception

       when TOO_MANY_ROWS then dbms_output.put_line('查询的条数过多啦!');

       when NO_DATA_FOUND then dbms_output.put_line('没有找到数据哦!');

       when OTHERS then dbms_output.put_line('其它错误!');

    end;

  • 相关阅读:
    LUA 数据比较BUG?????是不是BUG大佬帮看看
    win10 优化批处理
    android Studio 二维码扫一扫 使用精简过的zxing
    AppCompatActivity 去除标题栏
    java 继承 重写 重载 super关键字
    java构造方法私有化
    java代码块的理解
    java 理解main方法
    java面向对象基础static
    docker 安装 nginx
  • 原文地址:https://www.cnblogs.com/spdboke/p/6873009.html
Copyright © 2020-2023  润新知