diff --git a/Sources/Foundation/FileManager+Win32.swift b/Sources/Foundation/FileManager+Win32.swift index 3f8c7f9cac..b761c3550a 100644 --- a/Sources/Foundation/FileManager+Win32.swift +++ b/Sources/Foundation/FileManager+Win32.swift @@ -322,11 +322,11 @@ extension FileManager { override func nextObject() -> Any? { func firstValidItem() -> URL? { while let url = _stack.popLast() { - if !FileManager.default.fileExists(atPath: url.path) { - guard let handler = _errorHandler else { return nil } - if !handler(url, _NSErrorWithWindowsError(GetLastError(), reading: true, paths: [url.path])) { + guard FileManager.default.fileExists(atPath: url.path) else { + if let handler = _errorHandler, !handler(url, _NSErrorWithWindowsError(GetLastError(), reading: true, paths: [url.path])) { return nil } + continue } _lastReturned = url return _lastReturned