diegoRodicio

View Categories

🛟 Xestión de excepcións

Tempo de lectura estimado: < 1 minutos

🛟 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 do try, 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.