19. marts 2003 - 20:13Der er
6 kommentarer og 1 løsning
Exception
Hej.
Når jeg prøver at indtaste bogstaver i edit feltet, giver den en exception i if sætningen.
I stedet for at skulle se en standard exception fejl vil jeg gerne have min egen. Men i nedenstående eksempel kommer der først en standard exception på skærmen, og derefter min egen... dette er jo ikke helt meningen!?
Hvordan kan jeg få min exception ud som den eneste??
try { if (StrToInt(value) > 0) { // Do something } } catch (Exception& e) { Application->MessageBox("Værdi skal være numerisk", "Fejl", MB_OK); }
Prøv lige at sætte dette ind i dit program isteder for din kode:
Application->MessageBox("Før test", "Fejl", MB_OK); try { StrToInt("Dur ikke"); // Skulle throw EConvertError } catch (EConvertError& e) { Application->MessageBox("ECon:Værdi skal være numerisk", "Fejl", MB_OK); } catch (Exception& e) { Application->MessageBox("Værdi skal være numerisk", "Fejl", MB_OK); } catch (...) { Application->MessageBox("i elipse", "Fejl", MB_OK); }
Om StrToInt (ikke CLX):
extern PACKAGE int __fastcall StrToInt(const AnsiString S);
Description
StrToInt converts the string S, which represents an integer-type number in either decimal or hexadecimal notation, into a number. If S does not represent a valid number, StrToInt throws an EConvertError exception.
Jeg gik ind i Tools->Debugger Options og trykkede "Stop on Delphi Exceptions" fra.
Nu kører det bare.
Ellers tak for hjælpen.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.