Programming/DB - SQL
[MS-SQL] TRY ~ CATCH.
애스트로스
2018. 5. 26. 19:49
- TRY...CATCH 구문은 심각도가 10을 넘으며 데이터베이스 연결을 닫지 않는 모든 실행 오류를 CATCH 한다.
- END TRY 와 BEGIN CATCH 문 사이에 다른 문을 포함시키면 구문 오류 가 발생.
- 오류정보를 응용 프로그램으로 반환해야 하는경우 CATCH 블록의 코드에서 SELECT 또는 RAISERROR 및 PRINT 문을 사용한다.
- 오류정보 (LOG 테이블이나 파일로 결과를 남길경우 오류정보를 출력시키면 추후 확인하기 용이하다. )
- ERROR_NUMBER() -- 오류번호 반환
- ERROR_SEVERITY() -- 심각도 반환
- ERROR_STATE() -- 오류상태 번호 반환
- ERROR_PROCEDURE() -- 오류가 발생한 프로시저 또는 트리거의 이름을 반환
- ERROR_LINE() -- 오류를 발생시킨 줄번호를 반환
- ERROR_MESSAGE() -- 오류 메시지 전체 텍스트 반환
- TRY...CATCH 구문은 TRY 블록 또는 CATCH 블록에 중첩되어 사용할 수 있다.
실행 결과