[swift] Swift에서 디렉토리 삭제 시 예외 처리 방법

Swift에서 디렉토리를 삭제하려고 할 때, 때로는 해당 디렉토리가 존재하지 않거나 권한이 없어 삭제할 수 없는 경우가 발생할 수 있습니다. 이러한 예외 상황을 처리하기 위한 방법에 대해 알아보겠습니다.

1. 디렉토리 삭제 함수

Swift에서 디렉토리를 삭제하기 위해서는 FileManager 클래스의 removeItem(atPath:) 메서드를 사용합니다. 이 메서드는 주어진 경로의 파일이나 디렉토리를 삭제할 수 있습니다.

다음은 removeItem(atPath:) 메서드를 사용하여 디렉토리를 삭제하는 예제 코드입니다.

import Foundation

let fileManager = FileManager.default
let directoryURL = URL(fileURLWithPath: "/path/to/directory")

do {
    try fileManager.removeItem(at: directoryURL)
    print("디렉토리가 성공적으로 삭제되었습니다.")
} catch {
    print("디렉토리 삭제 실패: \(error)")
}

2. 예외 처리

위 예제에서 보듯이, 디렉토리 삭제 시에는 trycatch를 사용하여 예외를 처리합니다. 만약 삭제하려는 디렉토리가 존재하지 않거나 권한이 없어 삭제할 수 없는 경우, 해당 예외가 발생하게 됩니다. 이때 catch 블록에서 해당 예외를 처리할 수 있습니다.

3. 예외 유형

디렉토리를 삭제 시 발생할 수 있는 예외에는 여러 가지가 있을 수 있습니다. 예를 들어, 디렉토리가 존재하지 않는 경우 NSFileNoSuchFileError, 권한이 없어 삭제할 수 없는 경우 NSFileWriteNoPermissionError 등의 예외가 발생할 수 있습니다. 이러한 예외 유형에 따라 적절한 예외 처리 로직을 추가할 수 있습니다.

결론

Swift에서 디렉토리 삭제 시 발생할 수 있는 예외를 처리하는 방법에 대해 알아보았습니다. removeItem(atPath:) 메서드를 사용하여 디렉토리를 삭제하고, 예외를 처리하기 위해 try-catch 구문을 활용할 수 있습니다.


참고 자료