← 노드 한 장 전체#29 · Stop and Error

Stop and Error

이상한 데이터면 일부러 멈추기

이 글은 이런 분께데이터가 이상하면 저장하기 전에 일부러 멈추고 싶은 분
Stop and Error 영상 표지

1분 영상은 @workflow.hanjang 에 순서대로 공개돼요

JSON 받기

API가 이상한 값을 주면, 그대로 시트에 저장하실 건가요? 조용히 잘못 저장되면 아무도 몰라요.

Stop and Error 노드는 실행을 일부러 "실패"로 끝내요.

먼저 결과부터

Stop and Error는 데이터가 이상하면 일부러 실행을 멈춘다. 정상 환율(1,324.7원)은 통과, 일부러 만든 이상값(13.25원)은 저장 전에 멈춤.
우리가 실제로 돌린 기록 · 실행 #71659 · 2026-10-25
Stop and Error 실제 n8n 화면 1
우리가 실제로 돌린 n8n 화면 (실행 #71659, 2026-10-25)
Stop and Error 실제 n8n 화면 2
우리가 실제로 돌린 n8n 화면 (실행 #71659, 2026-10-25)

따라 하기

아래 설정값은 이 영상에 나온 워크플로우 JSON에서 그대로 가져왔어요. n8n 캔버스에서 +를 눌러 노드를 순서대로 추가하고 같은 값을 넣으면 돼요. 빨간 제목이 이번 편의 주인공 노드예요. 표 왼쪽은 n8n 편집기에 보이는 칸 이름, 오른쪽은 실제로 넣은 값이에요. 직접 입력하기 번거로우면 JSON을 받아 ⋯ → Import from File로 가져오세요.

Step 1. Manual Trigger 노드 추가이름: Run manually

설정 없이 그대로 추가해요.

Step 2. HTTP Request 노드 추가이름: Get USD rates

URLhttps://open.er-api.com/v6/latest/USD

Step 3. Code 노드 추가이름: Pick KRW rate

JavaScript
// 테스트용: true로 바꾸면 일부러 만든 이상값(13.25원)으로 바꿔요
const FORCE_BAD = false;

const r = $input.first().json;
return [{ json: {
  result: r.result,
  usd_krw: FORCE_BAD ? 13.25 : r.rates.KRW,
  updated: r.time_last_update_utc,
  test_bad_value: FORCE_BAD
} }];

Step 4. If 노드 추가이름: Rate looks wrong?

조건 1{{ $json.usd_krw }} · is less than · 500
조건 2{{ $json.usd_krw }} · is greater than · 3000
조건 3{{ $json.result }} · is not equal to · success
조건 묶기 (AND/OR)OR

Step 5. Stop and Error 노드 추가이름: Stop: bad rate

Error Message환율이 이상해요: 1달러 = {{ $json.usd_krw }}원. 저장하지 않고 멈춥니다.

Step 6. Edit Fields (Set) 노드 추가이름: OK: save rate

필드 1status · string · OK · 저장 진행
필드 2usd_krw · number · {{ $json.usd_krw }}

가져와서 쓸 때 확인할 것

노드의 모든 옵션은 n8n 공식 문서에서 볼 수 있어요.