PL/SQL学习笔记之异常

 

一:异常

    程序执行过程中出现错误情况被称为异常,主要有两种类型的异常:

  • 系统定义的异常

  • 用户定义的异常

二:系统定义的异常

ExceptionOracle ErrorSQLCODE描述
ACCESS_INTO_NULL06530-6530为空对象赋值时引发
CASE_NOT_FOUND06592-6592没有相应的选择语句时引发异常
COLLECTION_IS_NULL06531-6531数组、集合未初始化却被使用时引发异常
DUP_VAL_ON_INDEX00001-1当重复值试图被存储在具有唯一索引的列时被引发
INVALID_CURSOR01001-1001游标操作异常
INVALID_NUMBER01722-1722当一个字符串转换成一个数失败时引发
LOGIN_DENIED01017-1017当使用无效的用户名或密码登录数据库时引发
NO_DATA_FOUND01403+100当一个SELECT INTO语句无任何行返回时引发
NOT_LOGGED_ON01012-1012在未连接到数据库却发出数据库调用时被引发
PROGRAM_ERROR06501-6501当PL/SQL有一个程序内部错误时引发
ROWTYPE_MISMATCH06504-6504当游标取值有不兼容的数据类型的变量被引发
SELF_IS_NULL30625-30625当对象的成员方法被调用但对象类型的实例没有被初始化时引发异常
STORAGE_ERROR06500-6500当PL/SQL内存不足或内存已损坏时引发异常
TOO_MANY_ROWS01422-1422当SELECT INTO语句返回多行时引发异常
VALUE_ERROR06502-6502算术、转换、截短或大小约束错误时引发
ZERO_DIVIDE0147614760作除数时引发异常

 

 

三:用户自定义异常(其实就是声明一个异常变量)

DECLARE
   my-exception EXCEPTION;

 

四:手动抛出异常

DECLARE
   exception_name EXCEPTION;
BEGIN
   IF condition THEN
      RAISE exception_name;
   END IF;
EXCEPTION
   WHEN exception_name THEN
   statement;
END;
 

 

五:异常处理

DECLARE
   <declarations section>
BEGIN
   <executable command(s)>
EXCEPTION //异常处理部分
   WHEN exception1 THEN 
       exception1-handling-statements 
   WHEN exception2  THEN 
      exception2-handling-statements 
   WHEN exception3 THEN 
      exception3-handling-statements
   ........
   WHEN others THEN
      exception3-handling-statements
END;

 

转载于:https://www.cnblogs.com/ygj0930/p/8298198.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值