             return NSURL(fileURLWithPath: directory)
         }
         
-        private func fileURLForKey(key key: String) -> NSURL
-        {
-            let directoryURL = self.cachesDirectoryURL()
-            
-            guard let fileURL = directoryURL.URLByAppendingPathComponent(key) else
-            {
-                fatalError("failed to create file URL")
+        private func fileURLForKey(key key: String) -> NSURL?
+        {
+            guard let fileURL = self.cachesDirectoryURL().URLByAppendingPathComponent(key) else
+            {
+                assertionFailure("Unable to create cache file URL.")
+                
+                return nil
             }
             
             return fileURL

        {
            dispatch_async(self.queue) {
                
                let fileURL = self.fileURLForKey(key: key)
                
                guard let filePath = fileURL.path
                    else
                {
                    assertionFailure("no cache path found: \(fileURL)")
                    
                    return
                }

                
                let fileManager = NSFileManager()
                
                guard let filePath = self.fileURLForKey(key: key)?.path
                    else
                {
                    assertionFailure("no cache path found")
                    
                    return
                }
