Olá, espero que esteja tudo bem!
Gostaria de deixar uma sugestão, somente a critério de curiosidade ;)) Gostei bastante do conteúdo
Vi que na aula foi feito o tratamento de erro apenas na operação de fazer a criação da instância do jogo, seria interessante passar a ideia de fazer o tratamento de operações que estão fora do domínio da aplicação, como acesso a api, no caso de falta de internet, seria interessante a exception levantada ser tratada, por exemplo:
fun main() {
val getGameRunCatching = runCatching{
println("Enter a game id")
val scanner = Scanner(System.`in`);
val gameId = scanner.nextLine();
val data = CheapSharkDataSource().getGame(gameId)
val game = Game(data.info.title, data.info.thumb)
return@runCatching game
}
getGameRunCatching.onSuccess {
game -> print(game)
}
getGameRunCatching.onFailure {
print("It was not possible to retrieve the game with the entered id.")
}
}