on 절과 예외 자료형
특정 오류를 정확하게 잡아냅니다
on 절과 예외 자료형은(는) CoddyKit의 무료 Dart Academy 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Dart Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Dart Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
모든 오류가 같은 것은 아닙니다
파일 오류와 형식 오류는 서로 다른 문제입니다. Dart에서는 타입으로 오류를 잡아 각각에 맞게 대응할 수 있습니다. 🎯
on 키워드
on을 사용하면 하나의 예외 타입만 잡을 수 있습니다. 해당 종류의 오류가 발생했을 때만 블록이 실행됩니다.
try {
parse();
} on FormatException {
print('Bad format');
}객체도 함께 유지하기
on과 catch를 함께 사용하면 타입으로 걸러 내면서도 오류 객체를 가져와 메시지 세부 정보를 확인할 수 있습니다.
on FormatException catch (e) {
print(e.message);
}순서가 중요합니다
Dart는 on 절을 위에서 아래로 확인하고 처음 일치하는 절을 사용합니다. 구체적인 타입을 일반적인 타입보다 먼저 작성해야 합니다. 그렇지 않으면 구체적인 절이 실행되지 않습니다.
여러 on 절
하나의 try에 여러 on 절을 연달아 작성할 수 있습니다. 각 절은 서로 다른 예외 타입을 고유한 로직으로 처리합니다.
try {
work();
} on FormatException {
} on RangeError {
}마지막의 포괄 처리
타입이 없는 일반적인 catch는 앞에서 처리되지 않고 남은 모든 것을 잡습니다. 타입을 지정한 절 뒤에 안전망으로 마지막에 배치합니다.
} on FormatException {
} catch (e) {
print('Other: $e');
}Exception과 Error 비교
Dart는 복구할 수 있는 문제를 Exception으로, 수정해야 하며 잡아서는 안 되는 프로그래밍 버그를 Error로 구분합니다.
일반적인 내장 타입
FormatException, RangeError, StateError, ArgumentError를 만나게 됩니다. 이 타입들을 알면 정확하게 잡을 수 있습니다.
상위 타입 잡아내기
on Exception 절은 Exception의 모든 하위 타입과 일치합니다. 여러 관련 오류가 하나의 처리기를 공유할 때 넓은 타입을 사용합니다.
try {
go();
} on Exception catch (e) {
log(e);
}타입 필터링이 유용한 이유
타입이 지정된 처리기는 코드를 명확하게 유지합니다. 하나의 거대한 catch가 추측하도록 두는 대신, 누락된 파일과 잘못된 입력에 서로 다르게 대응할 수 있습니다.
하나로 합치기
구체적인 경우에서 일반적인 경우로 이어지는 흐름을 보여 줍니다. 먼저 타입이 지정된 on 절을 사용하고, 그다음 포괄 처리로 나머지를 안전하게 처리합니다.
try {
run();
} on FormatException catch (e) {
print(e);
} catch (e) {
print('Unknown');
}빠른 확인
하나의 특정 예외 타입만 잡으려면 어떻게 해야 하나요?
복습
이제 on으로 오류를 대상으로 지정하고, 구체적인 절을 먼저 배치하며, 포괄 처리라는 안전망을 추가할 수 있습니다. 정확한 처리와 깔끔한 코드입니다. ✅
자주 묻는 질문
“on 절과 예외 자료형” 강의는 무료인가요?
네 — “on 절과 예외 자료형” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Dart Academy 강의 전체를 잠금 해제할 수 있습니다. Dart Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“on 절과 예외 자료형”에서 뭘 배우나요?
특정 오류를 정확하게 잡아냅니다 브라우저에서 직접 실행하는 실습 코드로 Dart Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Dart Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Dart Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.
“on 절과 예외 자료형” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Dart Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Dart Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.