Crash when trying to load save game data in CPP

Hi there! My game crashes when I try to load data from my custom save class. Specifically, it crashes as soon as I try to run ContainsData(), which simply returns the boolean m_containsData. Help would be much appreciated! Thank you in advance.

// UTMFSaveGame variable declarations in the constructor
UTMFSaveGame::UTMFSaveGame()
{
	m_containsData = false;
	m_defaultSaveSlotIndex = 10;
	m_defaultSaveSlotName = "";
}
void AInteractable::OnInteractableLoaded_Implementation()
{
	// Create save object
	UTMFSaveGame* saveObject = Cast<UTMFSaveGame>(UGameplayStatics::CreateSaveGameObject(UTMFSaveGame::StaticClass()));
	UE_LOG(LogTemp, Error, TEXT("Creating save object"));
	// Check if the save object has an instance of the object stored
	saveObject = Cast<UTMFSaveGame>(UGameplayStatics::LoadGameFromSlot(saveObject->m_defaultSaveSlotName, saveObject->m_defaultSaveSlotIndex));
	UE_LOG(LogTemp, Error, TEXT("Loading save object"));
	// Check if the save object has information stored within it
	if(saveObject->ContainsData())
	{
		UE_LOG(LogTemp, Error, TEXT("Save object contains data")); // Crash before this gets logged
		// Check to see if information about our interactable is stored
		if (FInteractableInfo* loadedInfo = saveObject->GetInteractableInfoMap()->Find(this->GetName()))
		{
			// We know that we have information stored in the save file - now load this into the game instance
			Cast<UTMFGameInstance>(GetGameInstance())->GetInteractableInfoMap()->Add(this->GetName(), *loadedInfo);
			UE_LOG(LogTemp, Error, TEXT("Loaded interactable object information"));
		}
	}
}

Found the fix and thought it would be worth sharing. First, its is better to assign a name to the slot, because otherwise you will not find a useful error log indicating that the save file could not be found in the folder (in fact, it could have been that not naming the file was partly what caused the crash). In addition, not having the actual file in the save folder will lead to a crash, even if you are just trying to read information that is assigned in the save file constructor. So the final code should look something like this:

void AInteractable::OnInteractableLoaded_Implementation()
{
	// Create save object
	UTMFSaveGame* saveObject = Cast<UTMFSaveGame>(UGameplayStatics::CreateSaveGameObject(UTMFSaveGame::StaticClass()));
	// Check if the save game file exists
	if (UGameplayStatics::DoesSaveGameExist(saveObject->m_defaultSaveSlotName, saveObject->m_defaultSaveSlotIndex))
	{
		// Check if the save object has an instance of the object stored
		saveObject = Cast<UTMFSaveGame>(UGameplayStatics::LoadGameFromSlot(saveObject->m_defaultSaveSlotName, saveObject->m_defaultSaveSlotIndex));
		// Check to see if information about our interactable is stored
		if (FInteractableInfo* loadedInfo = saveObject->GetInteractableInfoMap()->Find(this->GetName()))
		{
			// We know that we have information stored in the save file - now load this into the game instance
			Cast<UTMFGameInstance>(GetGameInstance())->GetInteractableInfoMap()->Add(this->GetName(), *loadedInfo);
		}
	}
}