[swift] Swift에서의 에러 핸들링 기능 소개

Swift는 안정적이고 안전한 코드를 작성하기 위해 강력한 에러 핸들링 기능을 제공합니다. 이 기능을 사용하면 코드에서 발생하는 예외 상황에 유연하게 대처할 수 있습니다.

에러 핸들링 기본

에러는 보통 Error 프로토콜을 준수하는 열거형으로 정의됩니다. 예를 들어, 파일을 열고 읽는 과정에서 에러가 발생할 수 있는데, 이를 다음과 같이 정의할 수 있습니다.

enum FileError: Error {
    case notFound
    case permissionDenied
    case corrupted
}

에러 던지기

함수나 메서드 내에서 에러가 발생하는 경우 throw 키워드를 사용하여 에러를 던질 수 있습니다.

func openFile(atPath path: String) throws -> String {
    guard fileExists(atPath: path) else {
        throw FileError.notFound
    }
    // 파일을 열고 읽는 코드
    // ...
}

에러 처리하기

에러가 발생하는 코드를 호출하는 쪽에서는 do-catch 구문을 사용하여 에러를 처리할 수 있습니다.

do {
    let fileContent = try openFile(atPath: "example.txt")
    print(fileContent)
} catch FileError.notFound {
    print("파일을 찾을 수 없습니다.")
} catch FileError.permissionDenied {
    print("파일에 대한 권한이 없습니다.")
} catch {
    print("알 수 없는 에러가 발생했습니다: \(error)")
}

이를 통해 에러 핸들링을 통한 안정적인 코드를 작성할 수 있습니다.

에러 핸들링은 Swift에서 안전하고 신뢰할 수 있는 애플리케이션을 개발하는 데 필수적인 기능 중 하나이며, 자세한 내용은 Swift 공식 문서를 참고할 수 있습니다.