■ Data Skill ■/PL-SQL

PL/SQL (21) - 예외와 예외처리

한길(One Way) 2023. 3. 18.

예외와 예외처리

1. 사전정의예외

2. 비사전정의예외

3. 사용자정의예외

EXCEPTION

WHEN 예외명1 [OR 예외명2...] THEN

처리1;

WHEN OTHERS THEN

처리2;

 

1. 사전정의 예외

DUP_VAL_ON_INDEX

INVALID_NUMBER

NO_DATA_FOUND

PROGRAM_ERROR

TOO_MANY_ROWS

VALUE_ERROR

ZERO_DIVIDE

...

2. 비사전정의 예외

예외명 EXCEPTION;

PRAGMA EXCEPTION_INIT(예외명, 에러번호)

cons_err EXCEPTION;

PRAGMA EXCEPTION_INIT(cons_err, -2292)

PRAGMA는 컴파일러 지시어로 EXCEPTION_INIT과 함께 사용하면 특정한 에러 번호에 사용자가 정의한 이름을 매핑시키는 역할을 합니다. 프로그램 컴파일 단계에서 매핑이 되어서 지정된 이름을 사용하여 예외 처리 루틴을 만들 수 있게 됩니다.

*************************************************************************************************

SQLCODE 에러번호

SQLERRM 에러번호에 대응하는 메세지

* SQL에 직업 사용할 수 없다.

err_code := SQLCODE;

err_msg := SQLERRM;

INSERT INTO TB_ERRORS VALUES(err_code, err_msg);

*************************************************************************************************

 

3. 사용자정의 예외

DECLARE

예외명 EXCEPTION;

BEGIN

RAISE 예외명;

EXCEPTION

WHEN 예외명 THEN

처리;

END;

RAISE_APPLICATION_ERROR(에러번호, 메서지 [,TRUE | FALSE]);

728x90

댓글