13. august 2003 - 20:55
Der er
16 kommentarer og 1 løsning
Simulering af fejl
Jeg har fået lavet mig en OnException procedure, men hvordan tester jeg den? Kan man ikke simulere en fejl eller noget?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
13. august 2003 - 21:07
#1
Det kan du vel sagtens. Division med nul er formentlig en af de nemmeste af simulere.
13. august 2003 - 21:07
#2
nu har jeg aldrig lavet noget delphi og kender ikke sproget men nedenstående skulle give et godt udgangspunkt-> function Fact(i); begin if (i == 1) then Return 1 else Return i * Fact(i); end; og så kald fact(0) så vil den ret sikkert komme med en outofmemory eller tilsvarende:)
13. august 2003 - 21:12
#3
arne_v - Hvordan? jelzin101 - Din funktion virke rikke
13. august 2003 - 21:15
#4
for at citere mig selv : "Nu har jeg aldrig lavet noget delphi og kender ikke sproget men nedenstående skulle give et godt udgangspunkt" betydende - jeg giver dig noget pseudoagtig kode som du så selv skal lave om til gyldig delphi syntax. hvilket ikke burde volde de store problemer.
13. august 2003 - 21:17
#5
jep jep...så det nu
13. august 2003 - 21:17
#6
i := 0; i := 1 div i; bør give en exception !
13. august 2003 - 21:22
#7
nope... det gør den ikke
13. august 2003 - 21:24
#8
Jo nu gør den, hvis jeg satte en showmessage(inttostr(i)); ind efter, så gjorde den delphi har jo slettet det når det ikke blev brugt åbenbart
13. august 2003 - 21:24
#9
Hvis i er erklæret integer og du sætter i til nul og derefter dividerer et med i, så skal du få en exception.
13. august 2003 - 21:25
#10
Nå. OK virkede din OnException så ?
13. august 2003 - 21:25
#11
Ved ikke om du lige vil hjælpe lidt til? Når jeg kører den så går den ikke over på min egen procedure jeg har sat Application.OnException := minprocedure;
13. august 2003 - 21:26
#12
procedure TfrmMain.MyExceptions(Sender: TObject; E: Exception); begin MessageDlg('Der er fundet en fejl' + #13#10#13#10 + 'Fejlnavn: ' + E.ClassName + #13#10 + 'Fejl: ' + E.Message, mtError, [mbOK], 0); end;
13. august 2003 - 21:30
#13
Jeg er ikk ehelt sikker på at jeg forstår din kode. Application.OnException := minprocedure procedure TfrmMain.MyExceptions hvor bliver minprocedure og MyExceptions koblet ?
13. august 2003 - 21:32
#14
Application.OnException := frmMain.MyExceptions; procedure TfrmMain.MyExceptions(Sender: TObject; E: Exception); begin MessageDlg('Der er fundet en fejl' + #13#10#13#10 + 'Fejlnavn: ' + E.ClassName + #13#10 + 'Fejl: ' + E.Message, mtError, [mbOK], 0); end;
13. august 2003 - 21:33
#15
procedure TfrmMain.MyExceptions(Sender: TObject; E: Exception); begin E.Message := 'Der er fundet en fejl' + #10+#10+'Fejl:'+#10+E.Message; Application.ShowException(E); end; Skriv det her i din Form create: Application.OnException := MyExceptions;
13. august 2003 - 21:38
#16
arne_v - Vil du have noget points, så lig et svar, ellers får armena dem.. ps hjalp efter jeg satte application.onexception i OnCreate
13. august 2003 - 21:40
#17
ok
Kurser inden for grundlæggende programmering