[Swift iOS] 에러핸들링 (Error Handling)

JB
Jan 17, 2021

--

에러 핸들링이란?

  • 작업을 하다보면 실행 완료가 확실하지 않을 때 (eg., 옵셔널 구문에서의 값이 없거나, 구문이 실패할때 등) 일때 사용

이때, 구문을 실행하다 에러가 발생하면 에러를 Throw 한다 합니다.

몇몇 메소드에서 친절하게 throw (에러핸들링을 한다고) 명시

만약 함수를 만들 때 throw를 사용하고 싶다면 명시적으로 사용 해주면 됩니다.

실전 1

현재 로그인 화면을 구현하고 있다고 해봅시다.

스위프트에서의 에러핸들링은 아래와 같이

Error 프로토콜을 준수하여 enum과 모델링하여 나타냅니다.

Error 프로토콜을 준수하여 enum 모델링화

그리고 ErrorHandling 클래스에 checkLogin() 함수를 구현해줍니다.

ErrorHandling 을 인스턴스화 하여 checkLogin 함수를 호출하면,

Email validation is incorrect

구문을 호출합니다.

실전 2

AnotherErrorHandling 클래스 안에 anotherCheckLogin 함수를 구현해주고,

email값과 password 값을 세팅해줍니다.

그리고 email값이 “jb”를 포함하지않으면

LoginValidationError.emailvalidation 을 throw하고,

password값에 “9”가 포함되지 않으면

LoginValidationError.passwordValidation 을 throw해 줍니다.

그 후에,

do-try-catch문을 하용하여 에러를 핸들링 해줍니다.

do {try <#throwing expression#> //(throw를 포함한 표현} catch <#pattern#> //throw에 해당하는 에러를 캐치 {<#statements#> //그에 맞는 statement}

--

--

JB
JB

Written by JB

iOS engineer @kakaobank

No responses yet