Autor Beitrag
BlackAngel
Hält's aus hier
Beiträge: 12

win 2000, win 98, Suse linux, QNX, Debian linux
d4 Prof, k3 open
BeitragVerfasst: Mi 10.12.03 10:28 
kann mir jemand ein beispiel nennen wie ich mein eigenes exception erzeuge???
Habe bis jetzt noch kein beispiel gefungen!
Maggi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 160

WIN XP, WIN 2003
D5 Enter D 2006
BeitragVerfasst: Mi 10.12.03 10:38 
Hi,

verstehe nicht ganz was du willst einen Fehler bekommst du doch wohl alleine hin oder...!?! :wink:

Wenn du eine Fehlermeldung meinst die das aussagt was du willst bekommst du z.B. mit einer Try except Schachtelung:

Beispiel:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
try
  table1.Edit;
  table1.Feld01 := '143513451#;
  table1.Post;
except
  MessageDlg('
Fehler!!!!!', mtWarning, [mbOK], 0);
end;


...hoffe das hilfe dir eibn wenig! :lol:

Gruß

Maggi

Moderiert von user profile iconTino: Code- durch Delphi-Tags ersetzt.

_________________
"Wir haben den Kontakt zur Realität verloren, aber die findet uns schon wieder"
Udontknow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: Mi 10.12.03 10:46 
Hallo!

Kurz und knapp:

ausblenden Delphi-Quelltext
1:
raise Exception.Create('Benutzerdefinierte Exception aufgetreten!');					


Cu,
Udontknow
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 10.12.03 10:48 
Hallo!

Mit diesem Quelltext hast Du eine eigene Exception-Klasse (kannst sie auch von einem anderen Exception-Typ ableiten), die rausgeworfen und gefangen wird. Die Prozedur brauchst Du natürlich eigentlich nicht, war nur zur Demonstration.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
type
  EmyException = class(Exception);

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure raiseMyException;
begin
  raise EmyException.Create('falscher Fehler');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  try
    raiseMyException;
  except
    on EmyException do ShowMessage('Ein falscher Fehler ist aufgetreten');
  else
    ShowMessage('Irgendwas anderes ging schief');
  end;
end;


MfG
Peter

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".