6.4. 오류 처리


OpenShift Serverless Logic을 사용하면 명시적 오류 처리를 정의할 수 있습니다. 워크플로우 모델 내부에서 일부 일반적인 오류 처리 엔터티 대신 오류가 발생하면 어떤 일이 발생할지 정의할 수 있습니다. 명시적 오류 처리를 사용하면 워크플로우와 외부 시스템 간의 상호 작용 중에 발생할 수 있는 오류를 처리할 수 있습니다. 오류가 발생하면 일반 워크플로우 시퀀스가 변경됩니다. 이러한 경우 워크플로우 상태는 사전 정의된 상태로 전환되는 대신 오류를 잠재적으로 처리할 수 있는 대체 상태로 전환됩니다.

각 워크플로우 상태는 실행 중에 발생할 수 있는 오류와 관련된 오류 처리를 정의할 수 있습니다. 한 상태로 정의된 오류 처리는 워크플로우 실행 중에 다른 상태를 실행하는 동안 발생한 오류를 처리하는 데 사용할 수 없습니다.

워크플로우 정의 내에서 명시적으로 처리되지 않은 워크플로우 상태 실행 중에 발생할 수 있는 알 수 없는 오류는 런타임 구현에 의해 보고되고 워크플로우 실행을 중지해야 합니다.

6.4.1. 오류 정의

워크플로의 오류 정의는 namecode 매개변수로 구성됩니다. name잘못된 매개 변수와 같은 오류에 대한 짧고 자연 언어 설명입니다. code 매개변수는 구현에서 오류를 식별하는 데 도움이 됩니다.

code 매개변수는 필수이며 엔진은 다양한 전략을 사용하여 제공된 값을 런타임 시 발생하는 예외에 매핑합니다. 사용 가능한 전략에는 FQCN, 오류 메시지, 상태 코드가 포함됩니다.

워크플로우를 실행하는 동안 워크플로우 최상위 오류 속성에서 알려진 워크플로 오류를 처리해야 합니다. 이 속성은 문자열 유형일 수 있습니다. 즉, 오류 정의를 포함하여 재사용 가능한 JSON 또는 YAML 정의 파일을 참조하거나 워크플로우 정의에서 이러한 검사된 오류를 인라인으로 정의할 수 있는 배열 유형이 있을 수 있습니다.

다음 예제에서는 두 유형에 대한 정의를 보여줍니다.

재사용 가능한 JSON 오류 정의 파일을 참조하는 예

{
"errors": "file://documents/reusable/errors.json"
}

재사용 가능한 YAML 오류 정의 파일을 참조하는 예

errors: file://documents/reusable/errors.json

JSON 파일을 사용하여 인라인 워크플로우 오류 정의 예

{
"errors": [
  {
    "name": "Service not found error",
    "code": "404",
    "description": "Server has not found anything matching the provided service endpoint information"
  }
]
}

YAML 파일을 사용하여 인라인 워크플로우 오류 정의 예

errors:
  - name: Service not found error
    code: '404'
    description: Server has not found anything matching the provided service endpoint
      information

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.