예외(Exception)란 프로그램 실행 중 발생한 모든 오류 상태 또는 예기치 못한 동작입니다.
[일반적인 예외]
예외처리 방법에는 크게 Try-Catch와 Throw가 있습니다.
Try-Catch : Try-Catch 액티비티는 예외 처리의 주요 구성 요소입니다. 이를 통해 잠재적으로 예외가 발생할 수 있는 액티비티 블록(Try 블록)을 정의할 수 있습니다 . Try 블록 내에서 예외가 발생하면 이를 포착하고 워크플로우는 Catch 블록의 특정 활동 집합을 실행하여 예외를 처리할 수 있습니다
Finally : Finally 블록은 선택 사항이며 예외 발생 여부에 관계없이 항상 실행되어야 하는 활동을 정의하는 데 사용할 수 있습니다 . 예를 들어, Finally 블록을 사용하여 워크플로우가 완료되기 전에 리소스를 정리하거나 다른 작업을 수행할 수 있습니다.
Throw : Throw 액티비티를 사용하면 워크플로우의 특정 지점에서 수동으로 예외를 발생시킬 수 있습니다. 이는 특정 조건이나 요구 사항에 따라 예외를 강제로 적용하려는 경우 유용할 수 있습니다. RE프레임에서 발생한 예외를 비지니스로직에서 발생한 Exception(BRE)이나 예상치 못한 Exception으로 Throw해서 보낼 수 있습니다.
Rethrow : Rethrow 액티비티는 Catch 블록 내에서 발견된 예외를 다시 발생시키는 데 사용됩니다. 이는 더 높은 수준에서 예외를 처리하거나 상위 수준 워크플로우에 전파하려는 경우 유용할 수 있습니다.
Robotic Enterpriese Frame에선 예외처리를 효과적으로 다루기 위해 Business Rule Exception(BRE)와 System.Exception으로 나눕니다.
: BRE는 비즈니스 로직을 위반하는 상황일 때 발생합니다. 예를 들어, 입력 데이터가 특정 기준이나 규칙을 충족하지 않을 때 이 예외를 사용할 수 있습니다. 이 예외는 시스템 오류나 기술적 문제가 아닌, 비즈니스 프로세스의 규칙과 관련된 문제에 사용됩니다.
: System.Exception은 애플리케이션 실행 중 발생할 수 있는 기타 모든 유형의 예외를 포함합니다. 이는 파일이 없는 경우, 서버 연결 실패, 애플리케이션 오류 등 시스템 관련 이슈에서 발생할 수 있습니다.
[RE 프레임워크 내에서의 예외 처리 로직]
SetTransactionStatus.xaml 파일에서 트랜잭션 상태를 설정하며 여기서 예외 유형에 따라 다른 처리를 적용합니다.
Process.xaml에서는 각 트랜잭션 처리 중 발생할 수 있는 예외를 포착하고 적절한 예외 유형으로 던집니다.
REFramework를 사용함으로써 UiPath 프로젝트는 높은 수준의 오류 관리와 프로세스 안정성을 보장받으며, 이를 통해 엔터프라이즈 환경에서의 자동화 구현이 더욱 효율적이고 안정적으로 진행될 수 있습니다.