Sobes.tech
Middle — Middle+

Quais métodos alternativos de tratamento de erros podem ser implementados além de capturar exceções com um bloco try-catch?

sobes.tech IA

Resposta da IA

Além do uso de try-catch para lidar com exceções no Android, podem-se aplicar as seguintes abordagens:

  • Verificação de condições antes de realizar operações — por exemplo, verificar os dados de entrada ou o estado da rede para evitar erros.
  • Uso de valores de retorno com indicadores de erro — por exemplo, retornar null ou um objeto de resultado especial com informações sobre o erro.
  • Métodos callback com tratamento de erros — em operações assíncronas, pode-se passar callbacks para lidar com sucesso e erros.
  • Uso de tipos Result ou Either (em Kotlin) — para representar explicitamente resultados bem-sucedidos e com erro.
  • Registro e monitoramento — para rastrear erros sem interromper o funcionamento do aplicativo.

Exemplo usando Kotlin Result:

fun parseInt(str: String): Result<Int> {
    return try {
        Result.success(str.toInt())
    } catch (e: NumberFormatException) {
        Result.failure(e)
    }
}

val result = parseInt("123")
result.onSuccess { println("Número analisado: $it") }
      .onFailure { println("Erro: ${it.message}") }