0Pricing
Zig Academy · 강의

catch로 복구하기

오류가 발생했을 때 대체 처리를 제공합니다.

catch로 복구하기은(는) CoddyKit의 무료 Zig Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Zig Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Zig Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

오류에는 계획이 필요함

함수는 !u32와 같은 오류 유니언을 반환할 수 있습니다. 결과를 사용하기 전에 실패 경로에서 어떤 일이 일어날지 결정해야 합니다.

catch 만나기

catch 연산자는 호출이 오류를 반환할 때마다 사용할 대체값을 제공하여 오류 유니언을 일반 값으로 바꿉니다.

const n = parse(text) catch 0;

대체값이 오류를 대신함

호출이 성공하면 실제 값을 얻습니다. 오류가 발생하면 대신 catch의 오른쪽 값을 얻으므로 n은 항상 사용할 수 있는 숫자입니다.

const n = parse(text) catch -1;

catch는 표현식임

catch는 값을 생성하므로 값이 필요한 곳이라면 어디서든 인라인으로 사용할 수 있습니다. 함수 인수에 바로 넣는 것도 가능합니다.

print(parse(text) catch 0);

오류 캡처하기

파이프 캡처를 추가하여 무엇이 잘못되었는지 확인할 수 있습니다. 세로 막대 사이의 이름에는 반환된 특정 오류 값이 들어갑니다.

const n = parse(text) catch |err| {
    log(err);
    return 0;
};

catch에서 블록 실행하기

catch의 오른쪽에는 전체 블록을 사용할 수도 있습니다. 이를 이용해 기록을 남기거나, 대체값을 계산하거나, 계속 진행하기 전에 반복문을 빠져나올 수 있습니다.

const v = open(path) catch |e| blk: {
    break :blk fallback;
};

catch에서 조기 반환하기

복구가 불가능할 때는 catch 내부에서 return하여 함수를 끝낼 수 있습니다. 오류가 발생하면 그 뒤의 코드는 실행되지 않습니다.

const f = open(path) catch return error.MissingFile;

catch unreachable

catch unreachable을 작성하면 호출이 실패할 수 없다고 단언하는 것입니다. 안전한 빌드에서 실제 오류가 발생하면 무시되지 않고 패닉이 발생합니다.

const n = parse("42") catch unreachable;

unreachable은 신중하게 사용하기

오류가 정말 불가능한 경우에만 catch unreachable을 사용하십시오. 확신할 수 없다면 실제 대체값을 제공하십시오.

catch와 try 비교

여기서 즉시 오류를 처리할 수 있다면 catch를 사용하십시오. 오류를 호출자에게 전달하고 싶다면 try를 사용하십시오.

복구는 명시적임

모든 오류 유니언은 선택을 요구하므로 실패가 조용히 버려질 수 없습니다. catch를 사용하면 어떤 방식으로 복구할지 정확히 결정할 수 있습니다.

빠른 확인

호출이 실패해도 안전한 기본값으로 계속 진행하고 싶습니다. 어떤 표현식이 적합할까요?

복습

catch를 사용해 대체값, 블록, 조기 반환 또는 단언으로 오류를 복구했습니다. 실패는 언제나 의도적으로 처리됩니다. ✅

자주 묻는 질문

“catch로 복구하기” 강의는 무료인가요?

네 — “catch로 복구하기” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Zig Academy 강의 전체를 잠금 해제할 수 있습니다. Zig Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“catch로 복구하기”에서 뭘 배우나요?

오류가 발생했을 때 대체 처리를 제공합니다. 브라우저에서 직접 실행하는 실습 코드로 Zig Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Zig Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Zig Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.

“catch로 복구하기” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Zig Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Zig Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. catch로 복구하기
  2. 특정 오류에 따라 switch 사용하기
  3. 실패 정리를 위한 errdefer
  4. 오류 래핑과 다시 던지기
← Zig Academy(으)로 돌아가기