ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 에러 처리
    Swift 2023. 6. 5. 20:33

    에러 처리 문법 

     

    에러를 발생시킬 수 있는 함수

    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
Designed by Tistory.