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

        if let interaction = cassette?.interactionForRequest(request) {
            // Forward completion
            if let completion = completion {
                dispatch_async(queue) {
                    completion(interaction.responseData, interaction.response, nil)
                }

        }

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

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

        // Create directory
