swift 이상

1204 단어

throws


이상을 던져서 호출자에게 맡기기
  • 오류 정보 매거를 정의하고 Error
  • 에 상속합니다.
  • 이상 필요한 곳을 다시 던져
  • 주: 반환 값이 있으면throws 키워드는 반환 값 이전
  • 에 써야 합니다.
    enum CBToolError : Error{
        case errorOne
        case errorTwo
        
    }
    
    static func getName() throws -> String {
        let a = arc4random_uniform(3)
        if a == 0 {
            throw CBToolError.errorOne
        } else if a == 1 {
            throw CBToolError.errorTwo
        }
        return " "
    }
    

    호출할 때, 반드시 이상을 처리해야 한다. 그렇지 않으면 컴파일에서 오류를 보고할 것이다

    do-catch


    처리 예외
  • 연합try로 사용해야 한다
  • getName () 이상이 없으면 도의 내용으로, 이상이 나오면 대응하는catch의 내용
  • static func myTest() {
        do {
            let name = try CBTool.getName()
            print(name)
        } catch CBToolError.errorOne {
            print(" 1")
        } catch CBToolError.errorTwo {
            print(" 2")
        } catch {
            print(" ")
        }
    }
    

    try?


    값을 옵션(Optional) 유형으로 확인
  • 이상을 던지면 반환값은nil
  • let name = try? getName()
    //  name   String?
    

    try!


    직접 이상 처리를 하지 않는다고 생각하고 이상이 발생하면 프로그램 붕괴(
    let name = try! getName()
    

    좋은 웹페이지 즐겨찾기