[RxSwift] Error Handling

jinny·2022년 10월 20일
0

RxSwift

목록 보기
10/10
post-thumbnail

Error Handling


📕 Error가 발생하는 경우

  • 인터넷이 연결되어 있지 않은 경우
  • 타입에 맞지 않은 입력을 하는 경우
    ex) int타입에 특수문자를 입력
  • API나 HTTP Error가 나는 경우

📙 Error를 대비하기 위한 문법

  • Catch 구문 (Observable → Catch → Subscriptions)
    : Error Throw
  • Retry 구문 (Observable ↔ Retry → Subscriptions)
    : 재요청

📗 Catch Error

  • API 통신 시에 HTTP StatusCode가 200번대가 아닌 경우, 대부분 Error이다.

✏️ 예시) RxCocoa Error Catch문

.catchError { error in
	print(error.localizedDescription)
	return Observable.just(Data)
}.asDriver(onErrorJustReturn: Data)

✏️ 예시) RxCocoa Error Throw문

throw RxCocoaURLError.httpRequestFailed(response: <HTTPURLResponse>, data: <Data?>)

📘 Retry Error

  • 인터넷이 끊긴 경우, 계속 다시 신청할 수 있다.
  • 재신청할 수 있는 횟수를 지정하여 사용한다.

✏️ 예시) RxCocoa Error Retry문

.retry(3)
.catchError {
	...
}

🏷 참고 사이트

profile
우당탕탕 지니

0개의 댓글