我的编程空间,编程开发者的网络收藏夹
学习永远不晚

oracle异常处理

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

oracle异常处理

oracle异常处理

语句执行过程中,由于各种原因使得语句不能正常执行,可能会造成更大错误或整个系统的崩溃,所以PS/SQL提供了异常(exception)着一处理的方法来防止此类情况的发生。在代码运行的过程中无论何时发生错误,PL/SQL都能控制程序自动地转向执行异常部分。

1.预定义异常

预定义异常是由于系统产生的。例如出现0除,PL/SQL就会产生一个预定义的ZERO_DIVIDE异常。

--ZERO_DIVIDE异常。使用系统预定义的异常处理,使用该处理后,程序运行时系统就不会提示出现错误。
 
declare
  v_number1 number(3):=10;
  v_number2 number(3):=0;
  v_number3 number(3);
  
  begin
     v_number3:=v_number1/v_number2;
     DBMS_OUTPUT.PUT_LINE(v_number3);
     EXCEPTION
        when ZERO_DIVIDE then
          DBMS_OUTPUT.PUT_LINE("除数不能为0");
  end;
输出结果:DIVIDE ZERO

 

2.PL/SQL中常见的异常:

 

 

3.转换的错误处理

declare
  v_number1 number(3);
  v_char  char(5):="123c";
  begin
     v_number1:=to_number(v_char);  //将字符转换成数字
     DBMS_OUTPUT.PUT_LINE("转换成功");
     EXCEPTION
        when value_error then
          DBMS_OUTPUT.PUT_LINE("转换没成功");
  end;

 

4.联合的错误处理

declare
   v_name  school_students.stu_name%type;
   begin
      select stu_name into v_name
      from school_students
      where stu_id="2016322180021";
      dbms_output.put_line(v_name);
      EXCEPTION
        when  no_data_found then
           dbms_output.put_line("没有数据");
        when  too_many_rows then
           dbms_output.put_line("数据太多");
        when  ZERO_DIVIDE then
           dbms_output.put_line("列出错列");
      
  end;

 

5.用户定义异常

--用户可以通过自定义异常来处理发生的错误,语法格式为:
exception
   when 异常名 then
        语句块 1;
    when  then
        语句块2;
    [when others then
         语句块3;]
end;

 注意:每个异常处理部分都是由when子句和相应的执行语句组成

 

6.自定义异常

declare
   e_name  exception;
   v_num  number(8);
   begin
      select count(*) into v_num
      from school_students;
     if v_num>10 then
        RAISE  e_name;
     end if ;
     exception
       when e_name then
       dbms_output.put_line("最大值不能超过10");
    end;

注意:同一个异常不允许多个when子句来处理,一个异常对应一个when子句。

 

7.使用others异常

declare
   v_name  school_students.stu_name%type;
   begin
      select stu_name into v_name
      from school_students
      where stu_id="2016322180021";
      dbms_output.put_line(v_name);
      EXCEPTION
        when  OTHERS then
           dbms_output.put_line("出错了");
  end;

对于一个异常有两个处理方式,分别位于不同的when子句,因此系统会认为是不合法的。可以使用others来处理那些不能由其他when子句处理的异常,others异常处理总是位于exception语句的最后。

其实,others异常处理可以借助两个函数来说明捕捉到的异常的类型,这两个函数是PL/SQL和SQLERRM,其中SQLLOCODE是用来说明当前错误的代码,如果是用户自定义异常。则返回1.SQLERRM返回的是当前错误的信息。

 

8.空操作和空值

declare
  n number(3):=-1;
  begin
     if n<0 then
         null;
     else
        DBMS_OUTPUT.PUT_LINE("正常");
     end if;
  end;

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

oracle异常处理

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

oracle异常处理

语句执行过程中,由于各种原因使得语句不能正常执行,可能会造成更大错误或整个系统的崩溃,所以PS/SQL提供了异常(exception)着一处理的方法来防止此类情况的发生。在代码运行的过程中无论何时发生错误,PL/SQL都能控制程序自动地转向执行异常部分。1.预
oracle异常处理
2016-06-04

异常--python异常处理

--****--python 异常处理------------------------------------------------------------------------------****DB API中定义了一些数据库操作的错
2023-01-31

异常处理

程序中有两种错误    1.语法错误(这种错误,根本过不了Python解释器的语法检测,必须在程序执行前就改正)#错误示范一if#错误示范二print("adad"语法错误    2.逻辑错误# 用户输入不完整num = input(">>
2023-01-30

PHP异常处理:处理异步操作中的异常

处理异步操作中的 php 异常需要:协程中,使用 try-catch-finally 语法捕获异常。promise 中,使用 then() 和 catch() 方法处理异常。实战案例:使用协程处理 http 请求中的异常,并捕获和处理异常。
PHP异常处理:处理异步操作中的异常
2024-05-14

urllib异常处理

urllib的error模块定义了由 request模块产生的异常。如果出现了问题,request 模块便会抛出error模块中定义的异常。1 URLErrorURLError类来自urllib库的error模块,它继承自OSError类,
2023-01-30

Java异常处理:理解异常类型和处理策略

通过合理的异常类型选择和适当的异常处理策略,我们可以提高程序的稳定性和可靠性。

Python -- 异常处理

当一个小人物冲向大时代,有多少伤害埋伏左右;      -- 北岛《城门开》当一个大梦想埋于小身体,有多少潜能冲破束缚。      -- 小Q 《梦想家》-------------------------------------------
2023-01-31

python异常处理

import re,random,tracebackkk ='不要惹怒胖子,后果自己看'p =
2023-01-31

Python 异常处理

写一个命令分发器初步要求 :程序员可以方便地注册函数到某一个命令, 用户输入命令时, 路由到注册的函数, 如果此命令没有对应的函数, 执行默认函数分析 :输入命令映射到一个函数, 并执行这个函数, 应该是cmd_tbl[cmd] = fn
2023-01-31

PHP异常处理:使用Middleware异常处理中间件

php 异常处理使用 middleware 异常处理中间件,允许在应用程序的任何层处理异常,无需在每个控制器中显式处理。步骤如下:安装 symfony/error-handler 库。创建一个实现 middleware 接口的中间件类。在应
PHP异常处理:使用Middleware异常处理中间件
2024-05-14

JAVA异常与异常处理详解

一、异常简介什么是异常?异常就是有异于常态,和正常情况不一样,有错误出错。在java中,阻止当前方法或作用域的情况,称之为异常。java中异常的体系是怎么样的呢?(推荐:java视频教程)1.Java中的所有不正常类都继承于Throwable类。Throwab
JAVA异常与异常处理详解
2020-06-12

编程热搜

目录