에러 핸들링이란?
- 작업을 하다보면 실행 완료가 확실하지 않을 때 (eg., 옵셔널 구문에서의 값이 없거나, 구문이 실패할때 등) 일때 사용
이때, 구문을 실행하다 에러가 발생하면 에러를 Throw 한다 합니다.
만약 함수를 만들 때 throw를 사용하고 싶다면 명시적으로 사용 해주면 됩니다.
실전 1
현재 로그인 화면을 구현하고 있다고 해봅시다.
스위프트에서의 에러핸들링은 아래와 같이
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}