Kotlin:
Tratamento de erros
Como fazer:
Kotlin fornece try, catch, finally, e throw para gerenciar erros. Veja como usá-los:
fun main() {
val numerador = 10
val denominador = 0
try {
val resultado = numerador / denominador
println("Resultado: $resultado")
} catch (e: ArithmeticException) {
println("Não é possível dividir por zero, amigo.")
} finally {
println("Isso acontece independente do que ocorrer.")
}
}Saída:
Não é possível dividir por zero, amigo.
Isso acontece independente do que ocorrer.Se algo der errado no bloco try, a execução salta para o catch. Ele captura o erro específico lançado (ArithmeticException neste caso). O bloco finally é executado depois—não importa o resultado.
Mergulho Profundo
O bloco try-catch existe desde os primeiros dias de programação—é como uma rede de segurança. Kotlin também oferece throw para lançar manualmente uma exceção na arena, e há finally para código que deve ser executado—trabalho de limpeza, frequentemente.
Alternativas incluem o tipo Result e o try de Kotlin como uma expressão.
val resultado: Result<Int> = try {
Result.success(numerador / denominador)
} catch (e: ArithmeticException) {
Result.failure(e)
}Essa abordagem retorna um objeto Result—você obtém um sucesso ou uma falha sem o drama de uma exceção não tratada.
A implementação em Kotlin é elegante porque você pode usar try como uma expressão, o que significa que ele retorna um valor. Opções como essas tornam o tratamento de erros em Kotlin bastante versátil. É sobre escolher a ferramenta certa para o trabalho, assim como você faria em uma oficina.
Veja Também
- Documentação de Kotlin sobre Exceções: Tratamento de Exceção em Kotlin
- Documentação do tipo
Resultde Kotlin: Resultado Kotlin - Effective Java, 3ª Edição, de Joshua Bloch—ótimas percepções sobre exceções, apesar de ser específico para Java.