Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Excepción no funciona (https://www.clubdelphi.com/foros/showthread.php?t=97846)

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?

Angel.Matilla 11-11-2025 11:26:05

¡¡¡¡NO HE DICHO NADA!!!! Acabo de darme cuenta que estoy haciendo mal: se me ha olvidado Exception detrás del throw. :eek:


La franja horaria es GMT +2. Ahora son las 06:30:32.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi