9.1 Exceptions Overview
적절한 예외에 따른 메시지를 뿌려주는 것.
9.2 Procedural Exeption Handling
펑션모듈과 메서드만이 자체 예외처리 로직을 가질 수 있다.
9.3 Class-Based Exception Handling
DATA r_ex TYPE REF TO cx_sy_zerodivide.
TRY.
"이거 해봐
CATCH cx_sy_zerodivide INTO r_ex.
"에러나면 아래 메시지 뿌려
WRITE :/ 'Error Short Text :', r_ex->get_text( ).
CLEANUP.
"그리고 이거 실행해봐. (오픈된 파일들을 닫거나 롤백하는 로직이 주로 여기에 들어감)
ENDTRY.
예외 클래스는 'CX_SY_'로 시작한다.
커스텀 예외 클래스는 아래 3가지 중 하나에 속한다.
CX_STATIC_CHECK : 컴파일러가 구문 체크 단계에서 경고 메시지를 뿌려준다.
CS_DYNAMIC_CHECK : 컴파일러가 런타임 시, 에러를 뿌려준다.
CX_NO_CHECK : 암묵적으로 선언되어 CALLER에게 전달해준다.
9.4 Messages in Exception Classes
-1. OTR(Online Text Repository) : 일반 클래스 내에서 예외처리를 하는 방법
-2. Using MSG from a MSG Class : 일반 클래스가 아닌 메시지 클래스(따로 체크박스에 체크)를 아예 따로 만드는 방법
2번 방법에서 IF_T100_DYN_MSG를 인터페이스를 받을 경우, 메시지 타입과 WITH Addition을 쓰면 변수를 따로 받아올 수 있지만,
IF_T100_MESSAGE를 인터페이스로 받으면 불가능하다.
'SAP > Complete ABAP' 카테고리의 다른 글
8.6 EXTENSIBLE MARKUP LANGUAGE(XML) (0) | 2023.02.22 |
---|---|
8.5 Polymorphism (0) | 2023.02.22 |
8.4 Inheritance (1) | 2023.02.22 |
8.3 Encapsulation (0) | 2023.02.05 |
8.2 Principles of OOP (0) | 2023.02.05 |