PDA

Vollständige Version anzeigen : Fehlermeldung catchen/abfangen ?


Xena
23.10.2001, 14:23
Hi Leute,
ich weise auf einem Formular einem Bild-Objekt den Bild-Pfad zu. Nun bekommt man natürlich, wenn das Bild nicht existiert eine Fehlermeldung! Kann ich diese irgendwie abfangen oder so? Oder eine eigene Fehlermeldung ausgeben oder sonstiges?

MfG Xena ^_^°

Stema
23.10.2001, 14:28
Hallo Xena,

z.B. so:

Sub DeineProcedur()

On Error Goto Fehler

.... ' Dein Code
Exit Sub

Fehler:
If Err.Number = 53 then Msgbox "Das Bild konnte leider nicht gefunden werden!"
else Msgbox Err.Number & vbNewline & Err.Description
End Sub

Xena
23.10.2001, 14:40
Bist du dir bei der Fehlernummer sicher?
Bei mir führt er nämlich den else Pfad aus, das heisst theoretisch, das es eine andere Fehlernummer sein müsste . . .

MfG Xena ^_^°

JoergH
23.10.2001, 14:47
Wenn er den else-Zweig ausführt, dann gibt er Dir ja die Fehlernummer aus, ist das die 53 ???

Xena
23.10.2001, 14:52
Das dachte ich zuerst auch, aber ich bekomme nur die Fehlermeldung :"Mitarbeiter Datenbank kan die Datei "n87236.jpg" nicht öffnen!"
Keine Fehlermeldung . . .

Aber ich bin mir im Moment nichtmal sicher, ob er überhaupt an die Marke 'Fehler' springt !?

hier mal mein Code:

Me.Bild2.Visible = True
Me.Bild2.Picture = "U:\Kristin\Mitarbeiter_Bilder\" & Me.Mitarbeiter_Daten.Form.Personalnummer & ".jpg"
On Error GoTo Fehler

Fehler:
'If Err.Number = 53 Then
MsgBox "Das Bild konnte leider nicht gefunden werden!"
'Else
'MsgBox Err.Number & vbNewLine & Err.Description
'End If
Resume Exit_Mitarbeiter_anzeigen_Click

Exit_Mitarbeiter_anzeigen_Click:
Exit Sub

Err_Mitarbeiter_anzeigen_Click:
MsgBox Err.Description
Resume Exit_Mitarbeiter_anzeigen_Click

MfG Xena ^_^°

Xena
23.10.2001, 14:54
Ähhhh, ich meinte nicht "keine Fehlermeldung"
sondern "keine Fehlernummer"

*Feierabendnötig* . . .

^_^°

JoergH
23.10.2001, 15:00
Es ist sinnvoll ;), die On Error Goto Zeile vor die den Fehler auslösende Anweisung zu stellen, also an den Anfang Deines Subs, vor Me.Bild2.Picture

Gruß, Jörg

Andi_D
23.10.2001, 15:00
Mach` einfach aus MsgBox Err.Description MsgBox Err.Number und schon haste die Fehlernummer...

Gruz Andi...

JoergH
23.10.2001, 15:06
Das Problem ist, das IMHO in diesem Fall nur die Standardfehlermeldung des Systems ausgegeben wird, und nicht die eigene Fehlerbehandlung.
Setz doch mal einen Haltepunkt auf Deine Sprungmarke Fehler:,
dann kannst Du verfolgen, ob er den Code ausführt.

Gruß, Jörg

Xena
23.10.2001, 15:13
Danke für eure Hilfe, jetzt hab ichs hinbekommen . . .

So long, Xena ^_^°