Never타입
일반적인 함수의 return의 의미
함수 결과 값의 리턴
CPU 제어권 리턴
Never 타입
💡 Never 타입을 반환하는 함수 또는 메서드란, 함수 또는 메서드가 제어권을 비반환(nonreturning)하는 함수이다. 이는 복구할 수 없는 에러를 발생시키거나 무한으로 작업을 시작한다.
앱을 테스트, 검증하는 단계에서 사용한다.
CPU의 제어권을 돌려주지 않는다.
일부러 크래시 (에러)를 발생시킨다. (Nonretruning이라고 말한다)
Never 타입 = 임시 타입
내부적으로 비어있는 열거형으로 선언된다.
실질적인 인스턴스를 생성할 수 없다. (Uninhabited Type)
임시적인 타입으로 인스턴스 생성이 불가능하다.
let some = Never() // 불가능
열거형이지만,
let day: Weekday = Weekday.monday
식의 인스턴스 생성 불가능
활용 방법
함수 내에서 무조건 앱을 종료시킨다.
무조건 에러를 발생시켜 에러 처리하는 코드로 제어권을 전달한다.
활용 방법
함수 내에서 앱을 종료시킨다.
무조건 에러를 발생시켜서 에러 처리하는 코드로 제어권을 전달한다. ( 드문 케이스 )
사용하는 이유
런타임에 발생할 수 있는 에러를 미리 발견하고 검증 및 테스트하기 위해서 사용한다.
가벼운 에러라면, 출시할 때에는 해당 코드를 삭제해야한다. (해킹같은 경우는 종료시켜야한다)
출시 이전에 앱을 무한대로 테스트할 때,
fatal error
를 사용한다.검증함수
assert()
precondition()
Last updated