예외 처리

예외 처리한 예외 객체(Exception)를 catch하여 핸들링하는 방법을 말한다.

예외 처리 원칙

온라인 거래에서는 가능하면 예외 처리를 하지 않는 것을 원칙으로 한다.

업무 소스에서 발생시키는 예외 객체가 DefaultApplicationException 이고 모든 메소드에서 DefaultApplicationException 를 throws하고 있기 때문에 굳이 catch할 필요가 없기 때문이다.

예외 처리가 필요한 경우

업무상 어떤 로직의 처리 결과에 상관 없이 프래그램이 진행되어야 하는 경우

        /* 업무 처리-1 */

        try {

        /* 업무 처리-2 */

        } catch (DefaultApplicationException e) {
            // 에러 무시 처리 로깅

        }

        /* 업무 처리-3 */

에러 메시지를 변경하는 경우

        try {
            /* 업무 처리 */
        } catch (DefaultApplicationException e) {
            // 메시지 내용
            throw new DefaultApplicationException("bcpp.test...", null, e);
        }

예외를 catch하였으나 다시 throw하고 있으므로 ignoreException(e)를 호출하지는 않는다.

새로운 Exception 생성시 catch한 Exception 을 파라미터로 넣어 준다.

로그에 caused 로 표시된다.

특정 예외를 catch하여 메시지 처리하는 경우

        try {
            employee.insertEmployee(input);
        } catch (DuplicateKeyException e) {
            // {0}이/가 중복되었습니다.
            throw new DefaultApplicationException("bcpp.duplication...", new Object[] {"계약번호"}, e);
        }

DefaultApplicationException 이외의 예외가 발생하는 경우

3rd Party 또는 java 기본 라이브러리에서 발생하는 Exception을 catch 하는 경우

        try {

        } catch (Exception e) {
            throw new DefaultApplicationException("bcpp.test...", null, e);
        }

새로운 Exception 생성시 catch한 Exception 을 파라미터로 넣어 준다.

로그에 caused 로 표시된다.

SWLab Bankware Global
  • 전체
  • BXM
  • BXCM
  • BXCP
  • BXI
제품 선택 시 더 정확한 매뉴얼 가이드를 제공해드립니다.

Copyright© Bankwareglobal All Rights Reserved.