예외 (Exception)
데이터베이스 작업 중 발생할 수 있는 오류 또는 예기치 않은 상황
- 경미한 오류의 일종
- 실행 오류의 하위 카테고리
- 예외 발생 시 전체 프로그램의 Runtime 이 유지되도록 처리하는 작업을 예외처리라고 한다.
DECLARE (ACTION) HANDLER FOR (ERROR) BEGIN 예외 처리 작업 END; |
1. 특정 에러코드의 예외 처리
특정 에러코드 1146, 1136에 대한 예외 처리 작업을 만들어주었다.
에러코드에 대한 예외 처리 작업을 만들어주니 에러로 인한 중단 없이 끝까지 실행이 되었다.
2. 발생한 에러 코드와 메시지 조회
SHOW ERRORS; |
이전에 발생했던 에러에 대한 정보를 출력해준다.
3. SQLEXCEPTION
DECLARE (ACTION) HANDLER FOR SQLEXCEPTION BEGIN 예외 처리 작업 END; |
모든 에러코드에 대응하는 에러명이다.
모든 에러에 대해 sqlexception 하나의 에러명으로 한 가지 예외 처리를 수행하였다.
문제점
모든 에러에 대해 하나의 에러로 예외 처리를 하면 어디에 어떤 에러가 발생했는지 파악하기 힘들다.
4. Error_log를 기록하는 테이블 처리
1) 테이블 정의
2) 예외 처리 작성
2-1) 첫 번째 예외 처리
에러 객체 참조 GET DIAGNOSTICS CONDITION 1 MYSQL_ERRNO, ERROR_MESSAGE |
에러 코드 1062에 대한 예외 처리 작성
- 에러 코드와 메시지를 tbl_std_errlog 테이블에 삽입
2-2) 두 번째 예외 처리
'DBMS > 공부' 카테고리의 다른 글
DB 영상 참고 (1) (0) | 2024.09.29 |
---|---|
0. Trigger (1) | 2024.02.08 |
0. 오류 처리 (0) | 2024.02.08 |
0. TRANSACTION (1) | 2024.02.08 |
0. STORED PROCEDURE (0) | 2024.02.07 |