Просмотр исходного кода

do { } catch { } replaced by "defer".

Damian Kołakowski 10 лет назад
Родитель
Сommit
679c5a4db0
1 измененных файлов с 2 добавлено и 6 удалено
  1. 2 6
      Sources/File.swift

+ 2 - 6
Sources/File.swift

@@ -98,13 +98,9 @@ extension File {
     
     public static func withFileOpenedForMode<Result>(path: String, mode: String, _ f: File throws -> Result) throws -> Result {
         let file = try File.openFileForMode(path, mode)
-        do {
-            let result = try f(file)
+        defer {
             file.close()
-            return result
-        } catch {
-            file.close()
-            throw error
         }
+        return try f(file)
     }
 }