[오라클 PL/SQL] PL/SQL 예외처리 하는 방법


안녕하세요.

 

오늘은 PL/SQL 작성시, 예외처리 하는 방법에 대해서 알려드리고자 합니다.

 

오라클에서 예외라 하면 크게 2가지 유형이 있는데요. 오라클에서 발생시키는 시스템 예외와 사용자가 의도적으로 발생시킬 수 있는 사용자 정의 예외 이렇게 2가지 유형의 예외가 있습니다.

 

그럼 PL/SQL에서 어떻게 예외 처리를 하는지에 대해서 알아 볼게요.


예외처리 구문


EXCEPTION WHEN 예외명1 THEN 예외처리 구문1

WHEN 예외명2 THEN 예외처리 구문2

WHEN OTHERS THEN 예외처리 구문n;

 

예외처리 구문을 보시게 되면 CASE문과 상당히 유사한 구조를 지니고 있습니다. 때문에 이해하시고 사용하시는 것에 대해서는 큰 어려움은 없을 것 같아요.

 

그럼 이제 실제로 위의 구문을 토대로 예외 처리 코드를 작성해 보도록 할게요.

 

예외가 있는 PL/SQL 문


1

2

3

4

5

6

DECLARE

    vi_num NUMBER := 0;

BEGIN

    vi_num := 10 / 0;

    DBMS_OUTPUT.PUT_LINE('SUCCESS!');

END;

Colored by Color Scripter

cs


실행 결과



0을 나누려고 하니까, 위와 같은 에러가 발생하게 됩니다.

 

예외처리 된 PL/SQL 문


1

2

3

4

5

6

7

8

9

DECLARE

    vi_num NUMBER := 0;

BEGIN

    vi_num := 10 / 0;

    DBMS_OUTPUT.PUT_LINE('SUCCESS!');

    

EXCEPTION WHEN OTHERS THEN

    DBMS_OUTPUT.PUT_LINE('에러가 발생하였습니다.');

END;

Colored by Color Scripter

cs


실행 결과



위처럼, 오라클에서 던지는 에러 코드가 아닌 EXCEPTION에서 사용자가 직접 정의한 에러코드가 출력돼서 나오는 것을 확인하실 수 있습니다.


감사합니다.^^


728x90

이 글을 공유하기

댓글

Designed by JB FACTORY