| Angel.Matilla |
11-11-2025 11:14:36 |
Excepción no funciona
Estoy validando que el NIF introducido es correcto. Para ello tengo una función en la que al principio verifico una serie de parámetros genéricos:
Código:
bool ValidaNif(TCustomEdit *Edit)
{
AnsiString Nif = UpperCase(Edit->Text).Trim();
try
{
if (AnsiString("KLMXYZ").Pos(Nif.SubString(1, 1)) != 0 && !isalpha(Nif.c_str()[Nif.Length() - 1]))
throw("El formato del documento introducido es incorrecto");
if (isdigit(Nif.c_str()[0]) && !isalpha(Nif.c_str()[Nif.Length() - 1]))
throw("El formato del documento introducido es incorrecto");
for (int nPos = 2; nPos < Nif.Length(); nPos ++)
if (isalpha(Nif.c_str()[nPos - 1]))
throw("El formato del documento introducido es incorrecto");
[...]
}
catch(Exception &Exc)
{
Screen->Cursor = crArrow;
Mensaje(1, Exc.Message + ". Revise.", "Volver");
return false;
}
return true;
}
No sé por qué ahora, forzando para que tenga lugar alguna de las excepciones, al entrar en el throw me da este error:

Y no me da más pistas de que estoy haciendo mal. ¿Alguna sugerencia?
|