Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Sugestão] Fazer o tratamento de erro de toda execução que dependa de módulos externos a aplicação

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.")
    }
}
1 resposta
solução!

Bom dia, Jhon! Tudo bem?

Excelente sugestão! Incorporar tratamento de erros em operações que dependem de recursos externos é uma prática recomendada, pois ajuda a tornar o código mais robusto e resiliente a falhas, como falta de conexão com a internet ou indisponibilidade de APIs.

Ao encapsular operações externas em blocos como runCatching no Kotlin, garantimos que, em caso de falha, o sistema possa lidar com o erro de forma controlada, evitando falhas críticas no funcionamento geral da aplicação.

Continue mergulhando em tecnologia e se tiver dúvidas, conte com o fórum.

Abraços e bons estudos!