ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [SAP OOP] TRY 구문 // Catch
    SAP 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
Designed by Tistory.