-
[SAP OOP] TRY 구문 // CatchSAP 2022. 5. 5. 15:57
ABAP에서 프로그램을 짜고 오류를 잡을 때 보통 무엇을 이용하시나요?
Report, 혹은 Module pool을 사용할 때 사용자가 지정한 값이 아닌 다른 값을 입력하려고 할 때 조건문과 메세지를 이용해서 접근을 차단하는 방법을 주로 사용했었습니다.
이번에 배울 Try ~Catch는 Exception이 발생했을 경우 처리하기 위한 구문입니다.
이 구문은 오류가 발생할 때 Dump를 피할 수 있다는 장점이 있습니다.
TRY : Exception이 발생할 수 있는 소스코드 로직을 구현하는 Block
CATCH : 발생한 Exception에 대해 처리할 수 있도록 구현
CLEANUP : Exception이 발생한 구문에 대한 변수 값을 Clear 처리
Report를 통해 간단한 코드를 구현 후 Try 구문을 확인해보겠습니다.
CX_ROOT 는 최상위 부모 클래스를 의미합니다.
사용자에게 파라미터 값을 두 개 받은 후 결과값에 따라 오류를 출력하도록 하겠습니다.
값 두 개를 곱한 후 결과를 출력하도록 하였습니다.
최상위 예외 클래스인 CX_ROOT를 이용해 발생한 ERROR을 CATCH합니다.
먼저 정상적인 값 두 개를 이용해 곱해보도록 하겠습니다.
값이 정상적으로 출력됩니다.
오류가 나타나도록 값을 넣어보겠습니다.
DUMP가 뜨지 않고 Exception 처리를 해주는 것을 확인할 수 있습니다.
지금은 최상위 클래스인 CX_ROOT를 사용했지만, 오류에 따라 어떤 클래스를 이용해 오류를 잡은 것인지 확인할 수 있습니다. 디버깅을 해보겠습니다.
보면 어떤 클래스에서 오류를 Catch한 것인지 확인할 수 있습니다.
감사합니다.
김성준, 「Easy ABAP 2.0」, 프리렉(2012)
책정보, http://www.yes24.com/Product/Goods/7334929.
SAP Joy, http://sapjoy.co.kr/
'SAP' 카테고리의 다른 글
[SAP OOP] Interface // 잔고 관리 (0) 2022.05.10 [SAP Report] ALV Event (1) (0) 2022.05.10 [SAP Report] ALV Layout (0) 2022.05.04 [SAP Report] ALV Inclass_01 (0) 2022.04.14 [SAP Report] SE11 / Table (0) 2022.04.12