oracle PL/SQL 自定义异常,数组

DECLARE
  TYPE V_ARR IS VARRAY(10) OF VARCHAR2(30);
  exception_val EXCEPTION;
  --M_ARR V_ARR;
  M_ARR     V_ARR := V_ARR('1', '2', '3', '4');
  ErrorCode VARCHAR2(100); --返回值,错误编码
BEGIN

  FOR R IN 1 .. M_ARR.COUNT LOOP
  
    DBMS_OUTPUT.put_line(M_ARR(R));
    IF (R = 3) THEN
      ErrorCode := 'ERROR Hello';
      RAISE exception_val; -- 抛出异常
    END IF;
  END LOOP;

EXCEPTION
  WHEN exception_val THEN
    ROLLBACK;
    DBMS_OUTPUT.put_line('自定议异常');
    RAISE_APPLICATION_ERROR(-20111, ErrorCode); --将应用程序专有的错误从服务器端转达到客户端应用程序 error_number用于定义不正确号,该不正确号必须在-20000到-20999之间的负整数;
  WHEN OTHERS THEN
    ROLLBACK;
    DBMS_OUTPUT.put_line('其它异常');
END;

 

你可能感兴趣的:(pl/sql)