         }
         
         // No date formatter worked for everything. Fail.
-        return nil
+        throw DateFormatError.noMatchingFormat
     }
 }

            let timeFormatStrings: [String]
            switch _numberOfSpaces {
            case 1: timeFormatStrings = DateFormatterString.OneSpaceFormatStrings
            case 2: timeFormatStrings = DateFormatterString.TwoSpaceFormatStrings
            case 3: timeFormatStrings = DateFormatterString.ThreeSpaceFormatStrings
            default: return nil
            }
            
            for dateString in DateFormatterString.NoSpaceFormatStrings {

            
            // If the number of spaces between date strings is inconsistent, there's no way we can find a formatter to match all of them.
            if let numberOfSpaces = numberOfSpaces, count != numberOfSpaces {
                throw DateFormatError.emptyDates
            }
            
            numberOfSpaces = count
