0Pricing
Dart Academy · 강의

throw, try, catch

실패를 감지하고 대응합니다

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

문제가 발생할 때

프로그램에서는 잘못된 입력, 누락된 파일, 잘못된 계산 같은 문제가 발생합니다. Dart는 조용히 잘못 동작하는 대신 예외로 이를 알립니다. 🚨

예외 발생시키기

throw를 사용해 직접 문제를 발생시킬 수 있습니다. 문제가 발생한 지점에서 정상적인 흐름을 멈추고 처리기에 제어를 넘깁니다.

throw Exception('Something failed');

무엇이든 throw할 수 있습니다

Dart에서는 String을 포함해 거의 모든 객체를 throw할 수 있습니다. 실제로는 처리기를 명확하게 유지하기 위해 Exception 또는 Error 객체를 발생시킵니다.

throw FormatException('Bad number');

위험한 코드 보호하기

실패할 수 있는 코드를 try 블록 안에 넣습니다. Dart는 코드를 정상적으로 실행하지만, 무언가 throw하면 대응할 준비를 합니다.

try {
  risky();
}

문제 잡아내기

catch 블록은 try 블록이 throw할 때만 실행됩니다. 발생한 객체를 전달받으므로 이를 확인하고 대응할 수 있습니다.

try {
  risky();
} catch (e) {
  print('Caught: $e');
}

흐름은 다음으로 건너뜁니다

throw가 실행되면 try 블록의 나머지 부분은 즉시 건너뜁니다. Dart는 일치하는 catch 블록으로 곧바로 이동합니다.

오류 객체 읽기

catch (e)의 변수에는 발생한 값이 무엇이든 저장됩니다. 이를 출력하면 보통 무엇이 잘못되었는지 설명하는 유용한 메시지가 표시됩니다.

catch (e) {
  print(e);
}

스택 추적 가져오기

catch에 두 번째 변수를 추가하면 스택 추적을 얻을 수 있습니다. 스택 추적은 실패로 이어진 호출 경로를 보여 주므로 디버깅하기가 더 쉽습니다.

catch (e, stack) {
  print(stack);
}

복구하고, 충돌시키지 않기

예외를 잡는 핵심 목적은 복구입니다. 충돌시키는 대신 기록하거나, 재시도하거나, 사용자에게 친절한 대체 안내를 표시할 수 있습니다.

잡히지 않은 예외는 충돌을 일으킵니다

발생한 예외를 아무도 catch하지 않으면 예외가 상위로 전달되고, 콘솔에 오류가 출력되면서 프로그램이 충돌합니다.

완전한 예제

전체 패턴은 다음과 같습니다. try 안에서 throw하고, 이를 잡아 우아하게 처리한 뒤 실행을 계속합니다.

try {
  throw Exception('Oops');
} catch (e) {
  print('Handled: $e');
}

빠른 확인

발생한 예외에 실제로 대응하는 블록은 무엇인가요?

복습

이제 throw로 문제를 알리고, try에서 위험한 코드를 보호하며, catch에서 복구할 수 있습니다. 이 세 가지가 프로그램을 계속 실행되게 합니다. 🎉

자주 묻는 질문

“throw, try, catch” 강의는 무료인가요?

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

“throw, try, catch”에서 뭘 배우나요?

실패를 감지하고 대응합니다 브라우저에서 직접 실행하는 실습 코드로 Dart Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

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

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

“throw, try, catch” 강의는 얼마나 걸리나요?

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

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

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

이 강의의 모든 강의

  1. throw, try, catch
  2. on 절과 예외 자료형
  3. finally와 확실한 정리
  4. 사용자 지정 예외와 rethrow
← Dart Academy(으)로 돌아가기