[swift] 함수에서 에러를 던지고 처리하는 방법

Swift 언어에서는 함수 내에서 발생하는 에러를 throws를 사용하여 던질 수 있습니다. 또한, do-catch 구문을 사용하여 에러를 처리할 수 있습니다.

에러를 던지는 함수 작성

enum CustomError: Error {
    case invalidInput
    case outOfBounds
}

func processInput(_ input: Int) throws -> String {
    guard input > 0 else {
        throw CustomError.invalidInput
    }
    
    // 함수에서 발생한 로직에 따른 처리

    return "Success"
}

processInput 함수에서는 입력값이 올바르지 않을 때 에러를 던지는 예제입니다.

에러 처리하는 방법

do {
    let result = try processInput(-1)
    print(result)
} catch CustomError.invalidInput {
    print("Invalid input")
} catch CustomError.outOfBounds {
    print("Out of bounds")
} catch {
    print("An error occurred")
}

do-catch 구문을 사용하여 processInput 함수에서 발생한 에러를 처리하는 예제입니다. 첫 번째 catch 블록은 특정 에러를 처리하고, 마지막 catch 블록은 그 외의 모든 에러를 처리합니다.

이러한 방식으로 Swift에서 함수 내에서 발생하는 에러를 적절히 처리할 수 있습니다.

참고: Swift 공식 문서 - 에러 처리