오류 처리

오류 처리 (Handle Errors)

Dify 공식 문서 — Handle Errors 를 한국어로 번역·재해석했어요. 기술 용어는 원문 표기를 보존했어요.

LLM, HTTP, Code, Tool 노드는 오류 처리를 기본(box)으로 지원해요. 노드가 실패하면 아래 세 가지 동작 중 하나를 취할 수 있어요.

  • 백업 값 사용 (Use a Backup Value Instead): 노드가 실패하면 미리 정한 기본값(default value)을 대신 사용해요. 이렇게 하면 전체 실행이 중단되지 않고 이어갈 수 있어요.
    • 요구사항: 기본값은 노드의 출력 타입과 일치해야 해요. 문자열을 출력하는 노드라면 기본값도 문자열이어야 하죠.
  • 별도 플로우로 오류 처리 (Trigger a Separate Flow to Handle the Error): 노드가 실패하면 실패 전용(fail) 분기를 실행해요. 실패 분기는 주황색으로 강조돼요. 이 안에서 다음을 할 수 있어요.
    • 오류 알림 보내기
    • 다른 접근 방식 시도
    • 디버깅용 오류 로그 남기기
    • 백업 서비스 사용

Loop / Iteration 노드에서의 오류

반복(Loop)과 순회(Iteration) 안에서 자식 노드가 실패하면, 이 제어 흐름 노드들은 각자의 오류 동작을 가져요.

  • Loop 노드는 어떤 자식 노드라도 실패하면 즉시 중단돼요. 전체 루프가 종료되고 오류를 반환하며, 더 이상의 반복은 실행되지 않아요.

오류 변수 (Error variables)

기본값 또는 실패 분기를 쓸 때 특별한 변수 두 개를 받아요.

  • error_type — 어떤 종류의 오류가 발생했는지 (Error Types 문서 참고)
  • error_message — 실제 오류의 세부 내용

이 변수들을 활용해서 알림을 보내거나, 로그를 남기거나, 다음 분기를 결정할 수 있어요.

출처: https://docs.dify.ai/en/cloud/use-dify/build/predefined-error-handling-logic