이 주제는 다음 절을 포함합니다.
예외 처리를 위한 특수 핸들러를 제공하려면 TryCatch 노드를 사용하십시오. 처음에 입력 메시지는 이 노드의 try 터미널에서 라우트됩니다. 이 경우 메시지 플로우의 나머지 비오류 처리 노드에 연결해야 합니다. 다운스트림 노드(Throw 노드일 수 있음)에서 예외를 생성할 경우 TryCatch 노드는 이 예외를 포착하고 원래 메시지를 해당 catch 터미널에 라우트합니다. 예외 이후 메시지에 대한 오류 처리를 제공하려면 catch 터미널을 추가 노드에 연결하십시오.
이를 수행하여 예외가 메시지 플로우 처리를 중지하고 진행 중인 트랜잭션에 영향을 주지 않도록 합니다. catch 출력 터미널이 연결되어 있으면 메시지가 이 단말기로 전달됩니다. catch 터미널이 연결되어 있지 않으면 메시지를 제거합니다.
TryCatch 노드는 Workbench에서 다음 아이콘으로 표현됩니다.
이 노드를 사용하는 방법을 보려면 다음 샘플을 참조하십시오.
총계를 계산하기 위해 Compute 노드를 사용할 때 Throw 및 TryCatch 노드를 사용하십시오. 계산된 총계가 통계 필드의 최대값을 초과할 경우 시스템 관리자에게 송신할 메시지를 작성할 수 있습니다.
TryCatch 노드 인스턴스를 메시지 플로우에 넣으면 이 노드를 구성할 수 있습니다.
노드를 구성하려면 편집기 보기에서 노드를 마우스 오른쪽 단추로 누른 후 등록 정보를 누르십시오. 설명 등록 정보가 표시됩니다.
간단한 설명, 자세한 설명 또는 둘 다를 입력하십시오.
등록 정보 대화 상자를 닫지 않고 TryCatch 노드를 변경하려면 적용을 누르고 변경 적용 후 등록 정보 대화 상자를 닫으려면 확인을 누르십시오.
대화 상자를 닫고 등록 정보에서 작성한 모든 변경을 제거하려면 취소를 누르십시오.
이제 이 메시지 플로우 내에서 작동하는 방법을 판별하려면 노드의 터미널을 연결해야 합니다.
TryCatch 노드에는 조작에 영향을 미치는 구성 가능한 등록 정보가 없습니다. 출력 터미널을 메시지 플로우의 후속 노드에 연결함으로써 조작 방법을 판별합니다.
메시지 플로우에서 예외가 전달된 경우, 메시지 플로우가 핸들링하도록 프로그래밍되지 않은 오류를 감지하면 명확히 Throw 노드 또는 ESQL THROW문을 사용하거나 내재적 예외를 발생시켜 제어를 TryCatch 노드로 전달합니다.
메시지는 catch 터미널을 통해 전달되며 설계한 오류 핸들링이 실행됩니다. 이 터미널을 통해 전달된 메시지에는 예외 목록에 있는 예외의 전체 설명을 포함하여 예외 전달 시 메시지의 컨텐츠가 들어 있습니다.
다음 표에는 TryCatch 노드 터미널이 설명되어 있습니다.
터미널 | 설명 |
---|---|
In | 노드가 처리할 메시지를 승인하는 입력 터미널. |
Catch | 예외에서 다운스트림이 전달되어 이 노드에서 포착되었을 경우 메시지가 전달되는 출력 터미널. |
Try | 예외가 포착되지 않았을 경우 메시지가 전달되는 출력 터미널. |
다음 표에는 노드 등록 정보가 설명되어 있습니다. 앞에 M이 표시된 열은 등록 정보가 필수임을 나타내며(디폴트가 정의되지 않았을 때 값을 입력해야 하는 경우 등록 정보 대화 상자에 별표(*)로 표시됨) 앞에 C가 표시된 열은 등록 정보가 구성 가능함을 나타냅니다(메시지 플로우를 Bar 파일에 추가하여 전개할 때 값을 변경할 수 있음).
다음 표에는 TryCatch 노드 설명 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
간단한 설명 | 아니오 | 아니오 | 노드에 대한 간략한 설명. | |
자세한 설명 | 아니오 | 아니오 | 메시지 플로우에서 노드의 목적을 설명하는 텍스트. |