목차

목차

8. Error Handling

에러는 Error 프로토콜을 채택adopts하는 것으로 표현한다.

//  오류 종류 정의하기
enum PrinterError: Error {
    case outOfPaper
    case noToner
    case onFire
}

**throw , throws**

함수에서 에러를 던지고throw 싶으면, 함수는 즉시 반환을 하고 함수라고 불리던 코드는 에러를 처리handle한다.

func send(job: Int, toPrinter PrinterName: String) throws -> String{
    if PrinterName == "Never Has Toner" {
        throw PrinterError.noToner
    }
    return "Job sent"
}

do-catch

do블록: try를 사용하여 에러를 버릴 수 있는 코드를 마크한다.

8. Error Handling

에러는 Error 프로토콜을 채택adopts하는 것으로 표현한다.

//  오류 종류 정의하기
enum PrinterError: Error {
    case outOfPaper
    case noToner
    case onFire
}