 
                 // Add trailing new line
                 guard var string = NSString(data: data, encoding: NSUTF8StringEncoding) else {
-                    fatalError("[DVR] Failed to persist cassette.")
+                    print("[DVR] Failed to persist cassette.")
+                    abort()
                 }
                 string = string.stringByAppendingString("\n")
 
                 if let data = string.dataUsingEncoding(NSUTF8StringEncoding) {
                     data.writeToFile(outputPath, atomically: true)
-                    fatalError("[DVR] Persisted cassette at \(outputPath). Please add this file to your test target")
+                    print("[DVR] Persisted cassette at \(outputPath). Please add this file to your test target")
+                    abort()
                 }
 
-                fatalError("[DVR] Failed to persist cassette.")
+                print("[DVR] Failed to persist cassette.")
+                abort()
             } catch {
                 // Do nothing
             }
 
-			fatalError("[DVR] Failed to persist cassette.")
+			print("[DVR] Failed to persist cassette.")
+            abort()
         }
         task.resume()
     }

        }

		if cassette != nil {
			fatalError("[DVR] Invalid request. The request was not found in the cassette.")
		}

        // Cassette is missing. Record.
		if session.recordingEnabled == false {
			fatalError("[DVR] Recording is disabled.")
		}

        // Create directory

            
            //Ensure we have a response
            guard let response = response else {
                print("[DVR] Failed to persist cassette, because the task returned a nil response.")
                abort()
            }
            
            // Create cassette
