Assim como na aula anterior a API trocou o funcionamento dela e agora retorna um JSON vazio.
O que causa o exeção JsonSyntaxException,
Então segue aqui a minha sugestão de código para tratar essa exception:
 val gson = Gson()
    var meuInfoJogo: InfoJogo = InfoJogo(InfoApiShark("", ""))
    val resultadoMeuInfoJogo = runCatching {
        meuInfoJogo = gson.fromJson(json, InfoJogo::class.java)
    }
    resultadoMeuInfoJogo.onFailure {
        println("Retorno Inválido. Tente outro id.")
    }
    resultadoMeuInfoJogo.onSuccess {
        var meuJogo: Jogo
        val resultado = runCatching {
            meuJogo = Jogo(meuInfoJogo.info.title, meuInfoJogo.info.thumb)
            println(meuJogo)
        }
        resultado.onFailure {
            println("Jogo inexistente. Tente outro id.")
        }
        resultado.onSuccess {
            println("Deseja inserir uma descrição personalizada? S/N")
            val opcao = leitura.nextLine()
            if (opcao.equals("s",true)) {
                println("Insira a descrição personalizada para o jogo:")
                val descricao = leitura.nextLine()
                println("sua descrição: $descricao")
            } else {
                println("sem descrição")
            }
        }
    }
A solução consiste em utilizar dois runCatchings onde o segundo, que seria o equivalente ao do vídeo depende do sucesso do primeiro runCatching.
 
            