예외 처리 for UiPath(RPA)

FURVEN·2024년 5월 2일
0

RPA

목록 보기
5/6
post-thumbnail

예외(Exception)란 프로그램 실행 중 발생한 모든 오류 상태 또는 예기치 못한 동작입니다.

  • 사용중인 코드 또는 호출한 코드(ex. 라이브러리)의 오류, 사용 불가능한 운영 체제 리소스, 런타임에서 발생한 예기치 못한 상황(ex. 확인할 수 없는 코드) 등에 의해 throw될 수 있습니다.
  • 사용중인 애플리케이션이 이러한 상황으로부터 복구될 수 있지만 복구될 수 없는 경우도 있습니다. 대부분의 애플리케이션 예외로부터는 복구 할 수 있지만 대부분의 런타임 예외로부터는 복구할 수 없습니다.

[일반적인 예외]

예외처리(Exception Handling) 방법

예외처리 방법에는 크게 Try-Catch와 Throw가 있습니다.

Try-Catch : Try-Catch 액티비티는 예외 처리의 주요 구성 요소입니다. 이를 통해 잠재적으로 예외가 발생할 수 있는 액티비티 블록(Try 블록)을 정의할 수 있습니다 . Try 블록 내에서 예외가 발생하면 이를 포착하고 워크플로우는 Catch 블록의 특정 활동 집합을 실행하여 예외를 처리할 수 있습니다

Finally : Finally 블록은 선택 사항이며 예외 발생 여부에 관계없이 항상 실행되어야 하는 활동을 정의하는 데 사용할 수 있습니다 . 예를 들어, Finally 블록을 사용하여 워크플로우가 완료되기 전에 리소스를 정리하거나 다른 작업을 수행할 수 있습니다.

Throw : Throw 액티비티를 사용하면 워크플로우의 특정 지점에서 수동으로 예외를 발생시킬 수 있습니다. 이는 특정 조건이나 요구 사항에 따라 예외를 강제로 적용하려는 경우 유용할 수 있습니다. RE프레임에서 발생한 예외를 비지니스로직에서 발생한 Exception(BRE)이나 예상치 못한 Exception으로 Throw해서 보낼 수 있습니다.

Rethrow : Rethrow 액티비티는 Catch 블록 내에서 발견된 예외를 다시 발생시키는 데 사용됩니다. 이는 더 높은 수준에서 예외를 처리하거나 상위 수준 워크플로우에 전파하려는 경우 유용할 수 있습니다.

[UiPath RE프레임 내의 예외처리]

Robotic Enterpriese Frame에선 예외처리를 효과적으로 다루기 위해 Business Rule Exception(BRE)와 System.Exception으로 나눕니다.

Business Rule Exception(BRE)

: BRE는 비즈니스 로직을 위반하는 상황일 때 발생합니다. 예를 들어, 입력 데이터가 특정 기준이나 규칙을 충족하지 않을 때 이 예외를 사용할 수 있습니다. 이 예외는 시스템 오류나 기술적 문제가 아닌, 비즈니스 프로세스의 규칙과 관련된 문제에 사용됩니다.

  • 처리방식 :
    REFramework에서 BusinessRuleException은 일반적으로 프로세스의 흐름을 중단시키지 않고 특정 트랜잭션을 종료합니다. 이 예외가 발생하면 해당 트랜잭션이 실패로 처리되고, 다음 트랜잭션으로 넘어갑니다. 일반적으로 리트라이(retry)를 수행하지 않고, 로그에 기록된 후 오류 처리 절차에 따라 다음 단계로 진행됩니다.

System.Exception

: System.Exception은 애플리케이션 실행 중 발생할 수 있는 기타 모든 유형의 예외를 포함합니다. 이는 파일이 없는 경우, 서버 연결 실패, 애플리케이션 오류 등 시스템 관련 이슈에서 발생할 수 있습니다.

  • 처리 방식 :
    REFramework에서 Exception은 시스템 오류나 예기치 못한 예외 상황을 나타냅니다.
    이 예외는 일반적으로 프로세스 레벨에서 처리되며, 종종 리트라이 로직을 포함할 수 있습니다. 즉, 오류가 발생한 트랜잭션을 다시 시도할 수 있습니다.
    최대 리트라이 횟수를 초과하거나 리트라이가 적절하지 않은 경우, 전체 프로세스가 중단될 수 있으며, 이 경우 종종 프로세스의 안정성을 위해 종료되거나 관리자에게 알림을 보냅니다.

[RE 프레임워크 내에서의 예외 처리 로직]

SetTransactionStatus.xaml 파일에서 트랜잭션 상태를 설정하며 여기서 예외 유형에 따라 다른 처리를 적용합니다.
Process.xaml에서는 각 트랜잭션 처리 중 발생할 수 있는 예외를 포착하고 적절한 예외 유형으로 던집니다.
REFramework를 사용함으로써 UiPath 프로젝트는 높은 수준의 오류 관리와 프로세스 안정성을 보장받으며, 이를 통해 엔터프라이즈 환경에서의 자동화 구현이 더욱 효율적이고 안정적으로 진행될 수 있습니다.

profile
슬로우스타터 개발자 일지

0개의 댓글

관련 채용 정보