Contido deste apartado:
🛟 Que pasa se unha operación falla?
Unha excepción indica que unha operación non puido completarse. Se non a tratamos, pode interromper o programa.
try: código que pode fallar.on: escolle un tipo de excepción.catch: permite acceder á excepción.finally: código que se executa ao saír dotry, haxa ou non unha excepción.
void main() {
try {
int nota = int.parse('oito'); // Este texto non é un número válido.
print(nota);
} on FormatException catch (erro) {
print('Non se puido converter a nota: ${erro.message}');
} finally {
print('Rematou o intento de conversión');
}
}
Para validar o que escribe o usuario, tryParse() adoita ser máis simple. Pero outras operacións, como pedir datos pola rede, poden producir excepcións que teremos que tratar.
🚩 Lanzar unha excepción con throw
Unha función tamén pode rexeitar un dato que non admite:
void comprobarNota(int nota) {
if (nota < 0 || nota > 10) {
// Avisamos a quen chamou de que o argumento non é válido.
throw ArgumentError('A nota debe estar entre 0 e 10');
}
}
Podemos usar catch (erro) sen on para recoller calquera excepción que chegue a ese bloque. Non deixes o catch baleiro: informa do problema ou decide como recuperarte.
📚 Consulta: excepcións – https://dart.dev/language/error-handling.