zoukankan      html  css  js  c++  java
  • PL/SQL学习笔记之异常

    一:异常

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

    • 系统定义的异常

    • 用户定义的异常

    二:系统定义的异常

    ExceptionOracle ErrorSQLCODE描述
    ACCESS_INTO_NULL 06530 -6530 为空对象赋值时引发
    CASE_NOT_FOUND 06592 -6592 没有相应的选择语句时引发异常
    COLLECTION_IS_NULL 06531 -6531 数组、集合未初始化却被使用时引发异常
    DUP_VAL_ON_INDEX 00001 -1 当重复值试图被存储在具有唯一索引的列时被引发
    INVALID_CURSOR 01001 -1001 游标操作异常
    INVALID_NUMBER 01722 -1722 当一个字符串转换成一个数失败时引发
    LOGIN_DENIED 01017 -1017 当使用无效的用户名或密码登录数据库时引发
    NO_DATA_FOUND 01403 +100 当一个SELECT INTO语句无任何行返回时引发
    NOT_LOGGED_ON 01012 -1012 在未连接到数据库却发出数据库调用时被引发
    PROGRAM_ERROR 06501 -6501 当PL/SQL有一个程序内部错误时引发
    ROWTYPE_MISMATCH 06504 -6504 当游标取值有不兼容的数据类型的变量被引发
    SELF_IS_NULL 30625 -30625 当对象的成员方法被调用但对象类型的实例没有被初始化时引发异常
    STORAGE_ERROR 06500 -6500 当PL/SQL内存不足或内存已损坏时引发异常
    TOO_MANY_ROWS 01422 -1422 当SELECT INTO语句返回多行时引发异常
    VALUE_ERROR 06502 -6502 算术、转换、截短或大小约束错误时引发
    ZERO_DIVIDE 01476 1476 0作除数时引发异常

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

    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;
  • 相关阅读:
    JavaScript中严格模式"use strict";需注意的几个雷区:
    React 学习,需要注意几点
    安装了VS2012 还有Update4 我的Silverlight5安装完后 我的Silverlight4项目打不开
    SilverLight抛出 System.InvalidOperationException: 超出了2083 的最大URI
    Dictionary集合运用
    配置OpenCV开发环境心得
    调用第三方库出现的问题
    7-19 答疑课小结
    工欲善其事必先利其器(篇一)
    VMware Ubuntu Kaldi
  • 原文地址:https://www.cnblogs.com/ygj0930/p/8298198.html
Copyright © 2011-2022 走看看