일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 클린 코드
- HIG
- Observable
- clean architecture
- combine
- Protocol
- tableView
- swift documentation
- collectionview
- MVVM
- ios
- Xcode
- 리펙토링
- uitableview
- rxswift
- RxCocoa
- 리팩토링
- uiscrollview
- 스위프트
- Clean Code
- UITextView
- Refactoring
- 리펙터링
- 애니메이션
- SWIFT
- UICollectionView
- swiftUI
- ribs
- Human interface guide
- map
- Today
- Total
목록Error Handling (2)
김종권의 iOS 앱 개발 알아가기
목차) Combine - 목차 링크 Catch(_:) 에러가 발생할때 해당 에러에 대한 catch에 걸리면 catch에서 리턴한 데이터만 방출하고 위에있던 남은 데이터는 무시 struct MyError: Error {} let _ = [1,2,-3,4,5].publisher .tryMap { guard $0 > 0 else { throw MyError() } return $0 } .catch { error in [9,8,7].publisher } .sink( receiveCompletion: { print("Completion: \($0)") }, receiveValue: { print("Value:", $0) } ) // Value: 1 // Value: 2 // Value: 9 // Value: 8 ..
Error Handling 개념: 프로그램의 오류 조건에 응답하고 복구하는 프로세스 Swift에서는 런타임에 복구 가능한 오류를 다음 방법으로 처리 throwing, catching, propagating, manipulating Throwing Error (에러 던지기) Swift에서의 오류는 Error protocol을 conform하는 값으로 정의 enum VendingMachineError: Error { case invalidSelection case insufficientFunds(coinsNeeded: Int) case outOfStock } Error Handling 함수에서 오류가 발생하면 프로그램의 흐름이 변경되므로 코드에서 오류가 발생할 수 있는 위치를 빠르게 식별해야 하는데, 이 ..