Open hyesuuou opened 3 years ago
Swift5에서 새롭게 추가된 에러 처리 방식으로 Generic Enumeration으로 선언됩니다. success에는 작업의 결과가 저장되고, failure에는 에러가 저장됩니다. 에러 형식이 명시적으로 선언되고, 형식추론으로 에러 처리 코드가 간단하며 성공, 실패로 명확한 구분이 가능하다는 장점이 있습니다.
enum Result<Success, Failure: Error> {
case success(Success)
case failure(Failure)
}
Result 타입은 Swift 5부터 사용할 수 있는 타입으로, Generic Enumeration 형태로 선언되어 있다. 기존의 네트워크 요청을 좀 더 Clean하게 할 수 있다는 장점이 있다.
Success에는 데이터가 담기고, 이 때 특별한 제약 조건은 없다. Failure에는 에러 값이 담기게 된다. 이 때 Failure 경우 반드시 Error를 상속받은 타입이어야만 한다.
Result 타입이란 Swift5에서부터 Standard library에 추가되었으며, Generic Enumeration으로 선언되어 success 또는 failure 두가지 case를 포함하는 타입입니다. 여기서 success는 별도의 제약 조건이 없지만, failure같은 경우에는 Error를 상속받은 타입이어야만 합니다. Result 타입은 성공과 실패에 대한 반환값을 사용하고 싶은 경우에 사용합니다.