티스토리 뷰
TIL
07월 26일: Errors thrown from here are not handled because the enclosing catch is not exhaustive
알롱도담쓰 2023. 7. 26. 12:05에러
Errors thrown from here are not handled because the enclosing catch is not exhaustive
에러 원인
do-catch 구문에서 catch 블록이 모든 가능한 에러를 처리하지 않을 때 발생
에러 해결
enum에 있는 모든 케이스를 다 해줬는데도 not exhaustive 에러가 떠서 뭐지? 했는데 어떤 에러가 throw 될지 모르기 때문에 디폴트 값을 하나 설정해줘야 한다는 것이었다.
// 2개의 에러를 설정해둔 상태
enum UserInfoError: Error {
case idIsEmpty
case isMissMatch
}
func start() {
do {
try checkUserId()
} catch UserInfoError.idIsEmpty {
print("ID가 입력되지 않았습니다")
} catch UserInfoError.isMissMatch {
// 디폴트 에러 하나 catch
} catch {}
//혹은 이렇게도 표시 가능
do {
try checkUserId()
} catch {
switch error {
case UserInfoError.idIsEmpty : ~
case UserInfoError.isMissmatch :
// 디폴트 에러 값 하나 설정
default:
}
}
}
<참고>
https://developer.apple.com/forums/thread/5131
'TIL' 카테고리의 다른 글
07월 28일: class has no initializers (0) | 2023.07.28 |
---|---|
07월 27일: Data와 Date는 헷갈리지 말 것 (0) | 2023.07.27 |
07월 25일: 프트로콜과 enum의 기본값 설정 (0) | 2023.07.25 |
07월 24일: 엑스코드 단축키 (0) | 2023.07.24 |
7월 21일: swift) 천 단위마다 콤마 찍기 (0) | 2023.07.21 |
최근에 올라온 글