-
에러 처리 문법
에러를 발생시킬 수 있는 함수
enum someError: Error { case aError case bError } func errorFunction() throws -> Bool { if true{ throw someError.aError } return false } do{ //에러를 발생시킬 수 있는 구문을 넣어준다. try errorFunction() } catch { //에러가 발생하면 실행될 블록을 작성해줌. print("에러 발생") }
1. 에러의 종류 설정
에러 프로토콜을 채택한 열거형을 만들어서 에러 타입을 정의
enum someError:Error { case aError case bError }
2. 에러를 발생시킬 수 있는 함수
에러를 발생시킬 수 있는 함수는 throw 키워드를 이용해 함수의 타입에 명시해준다.
에러를 던질 때에는 throws 키워드를 이용한다.
func errorFunction() throws -> Bool { if true { throw someError.aError } return false }
3. 에러를 발생시킬 수 있는 함수의 결과 처리 (함수 실행)
에러를 발생시킬 수 있는 함수를 실행할 때는 do - catch 블럭을 이용해서 실행시킨다.
do{ //에러를 발생시킬 수 있는 구문을 넣어준다. try errorFunction() } catch { //에러가 발생하면 실행될 블록을 작성해줌. print("에러 발생") }
에러 처리 방법 -> try키워드의 사용
1) try
do{ //에러를 발생시킬 수 있는 구문을 넣어준다. try errorFunction() } catch { //에러가 발생하면 실행될 블록을 작성해줌. print("에러 발생") }
2) try?에러 발생 시 nil 반환
let a = try? errorFunction()
3) try!
에러 발생 시 종료
let a = try! errorFunction()
에러를 던지는 함수를 받아 다시 에러를 던지는 함수
:rethrows 키워드 이용
func someFunction(callback: () throws -> Void) rethrows { try callback() }
'Swift' 카테고리의 다른 글
XCTest (0) 2023.08.02 싱글톤 패턴 (0) 2023.07.22 Swift 개발자를 위한 Objective-C - Swift와 Objective-C 섞어쓰기 (0) 2023.07.13 firebase - FirebaseDatabase를 연결해봅시다 (0) 2023.05.28 비동기 프로그래밍 (0) 2023.05.14