vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: Error Routine in der die Error-Zeile ausgegeben wird 
Autor: gunthard
Datum: 11.01.09 10:40

Hallo Jürgen,

Die Zeilennummern kannst Du wie schon oben beschrieben sehr einfach mit den MZtools einfügen.
Ich zitiere mal etwas frei aus einem Newsgroup-Beitrag von Peter Götz:
Zitat:

Damit bekommst Du den tatsächlichen Fehlerort aber
nicht die meist ebenso wichtige oder oft wichtigere
Vorgeschichte, die zum Fehler geführt hat.
Neben der eigentlichen Fehlerinformation (Fehlernummer
u. Fehlertext) ist zur Fehlerlokalisierung fast immer hilfreich,
wenn man mitbekommt, welche Subs/Functions durchlaufen
worden sind, bevor es dann zum eigentlichen Fehler kam.
z.B.: Ein Button_Click löst eine Prozedur "A" aus und die
wiederum eine Prozedur "B" in der dann eine Prozedur
"C" aufgerufen wird.
Prozedur "C", erkennt einen Fehler, löst ihn erneut aus und
reicht ihn damit an die aufrufende Prozedur "B" weiter.
Prozedur "B" Prozedur "A" machen es genauso, auch sie
reichen den Fehler an die aufrufende Prozedur weiter.

Ich habe den Vorschlag von Peter Götz um die ZeilenNummer ergänzt. Damit ist ersichtlich, an welcher Stelle in den verschiedenen Subs der Fehler ausgelöst wurde.
Starte dazu ein neues Projekt in VB und füge einen Command1 - Button ein:
Option Explicit
 
Sub SubA()
10    Debug.Print "Hier Start  SubA"
20    On Error GoTo Fehler
30    Call SubB
40    Exit Sub
Fehler:
50    Err.Raise Err.Number, "SubA in Zeile " & Erl & "; " & Err.Source, _
    Err.Description, Err.HelpFile, Err.HelpContext
End Sub
 
Sub SubB()
10    Debug.Print "Hier Start  SubB"
20    On Error GoTo Fehler
32    Call SubC
 
40    Exit Sub
Fehler:
50    Err.Raise Err.Number, "SubB in Zeile " & Erl & "; " & Err.Source, _
    Err.Description, Err.HelpFile, Err.HelpContext
End Sub
 
Private Sub SubC()
10    Debug.Print "Hier Start  SubC"
20    On Error GoTo Fehler
33    Debug.Print 10 / 0
 
40    Exit Sub
Fehler:
50    Err.Raise Err.Number, "SubC in Zeile " & Erl & "; " & Err.Source, _
    Err.Description, Err.HelpFile, Err.HelpContext
End Sub
 
Private Sub Command1_Click()
10    On Error GoTo Fehler
20    Call SubA
 
30    Exit Sub
Fehler:
    Dim strMsg
40    With Err
50      strMsg = "Button_Click; " & .Source & vbCrLf & "Fehler: " & .Number & _
    " " & .Description
60      Debug.Print strMsg
70    End With
End Sub
Du erhälst die Fehlermeldung:
Button_Click; SubA in Zeile 30; SubB in Zeile 32; SubC in Zeile 33; Projekt1
Fehler: 11 Division durch Null

Hinweis:
Du kannst den Code für die Fehlerbehandlung mit den MZtools automatisieren.
Gruss
Gunthard
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Error Routine in der die Error-Zeile ausgegeben wird2.858fpsoft10.01.09 14:04
Re: Error Routine in der die Error-Zeile ausgegeben wird2.519Dirk10.01.09 16:00
Re: Error Routine in der die Error-Zeile ausgegeben wird2.432fpsoft11.01.09 00:00
Re: Error Routine in der die Error-Zeile ausgegeben wird2.438Zardoz11.01.09 00:26
Re: Error Routine in der die Error-Zeile ausgegeben wird2.502gunthard11.01.09 10:40
Re: Error Routine in der die Error-Zeile ausgegeben wird2.316gunthard11.01.09 11:30
Re: Error Routine in der die Error-Zeile ausgegeben wird Dem...2.371gunthard12.01.09 19:05

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel