[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 공식 문서를 참고할 수 있습니다.