您现在的位置是:群英 > 数据库 > 关系型数据库
Oracle异常的处理过程是什么,多异常处理如何做
Admin发表于 2022-07-12 17:50:37816 次浏览
今天这篇给大家分享的知识是“Oracle异常的处理过程是什么,多异常处理如何做”,小编觉得挺不错的,对大家学习或是工作可能会有所帮助,对此分享发大家做个参考,希望这篇“Oracle异常的处理过程是什么,多异常处理如何做”文章能帮助大家解决问题。

Oracle数据库中的异常:没有异常的转移,因为没有受检异常和非受检异常得区分。

1.异常的产生:

2.异常的处理:

declare

  --变量定义,初始化赋值。

begin

  --变量的赋值,函数调用,if,while等。

exception

  --异常处理代码

  when others then 异常处理语句。

end;

3.异常的抛出:raise

4.多异常处理:Java的多异常是通过数据类型区分,Oracle数据库的多异常是通过异常编号区分。
区别不同的异常是实现多异常处理前提。

declare

  verror exception;--定义异常变量

  PRAGMA EXCEPTION_INIT(verror ,-111111);--设定异常变量的编号

begin

  --变量的赋值,函数调用,if,while等。

exception

  •   when verror then 异常处理语句。--所抛出的异常变量的编号是否和设定好的异常变量的编号一致。
  •   when others then 异常处理语句。--当所抛出的异常编号在exception语句块中不存在时,执行该语句(写在最后)。

end;

5.自定义异常:Java中通过定义一个新的异常类实现的。Oracle中通过异常编号实现的。

eclare
  n number(1);
  v_error exception;
begin
  dbms_output.put_line('抛出单个异常练习--n只有1位不能保存数字10');
  n:=10;
  if n<=0 then
    raise v_error;
  end if;
  dbms_output.put_line(n);
exception
  when others then dbms_output.put_line('数值溢出');
end;

declare
  n number(1);
  v_error exception;
  PRAGMA EXCEPTION_INIT(v_error,-112122);
begin
  dbms_output.put_line('抛出多个异常练习');
  n:=-1;
  if n<=0 then
    raise v_error;
  end if;
  dbms_output.put_line(n);
exception
  when v_error then dbms_output.put_line('不能为负');
  when others then dbms_output.put_line('数值溢出');
end;

到此这篇关于“Oracle异常的处理过程是什么,多异常处理如何做”的文章就介绍到这了,感谢各位的阅读,更多相关Oracle异常的处理过程是什么,多异常处理如何做内容,欢迎关注群英网络资讯频道,小编将为大家输出更多高质量的实用文章!

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

相关信息推荐
2022-04-28 14:12:25 
摘要:给大家带来一篇关于如何解决MySQL多线程复制遇到Error_code: 1872的相关教程文章,内容涉及到mysql、主从复制、mysql、多线程复制、mysql、error_code、MySQL多线程复制遇到Error_code: 1872的解决方案等相关内容,已被644人关注,更多关于MySQL多线程复制遇到Error_code: 1872的解决方案的内容希望能够帮助到大家。
2022-08-11 17:40:14 
摘要:12505错误的出现原因是“service_name”和sid不一致。解决方法:1、使用“select INSTANCE_NAME from v$instance”获取数据库中当前的sid;2、将获取到的sid填入数据库程序的连接串中即可。
2022-07-12 17:50:35 
摘要:这篇文章主要介绍了Oracle安装遇到Enterprise Manager配置失败问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部