Ver Mensaje Individual
  #1  
Antiguo 11-11-2025
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Ubicación: Toledo - España
Posts: 1.418
Reputación: 21
Angel.Matilla Va por buen camino
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?
Responder Con Cita