Πρόταση On Error GoTo ... Resume

Ενεργοποιεί μια ρουτίνα χειρισμού σφάλματος αφού παρουσιαστεί κάποιο σφάλμα ή επαναφέρει την εκτέλεση του προγράμματος.

Σύνταξη:

Διάγραμμα δήλωσης On Error (με σφάλμα)


On [Local] Error {GoTo Labelname | GoTo 0 | Resume Next}

Παράμετροι:

GoTo Labelname: Αν παρουσιαστεί σφάλμα, ενεργοποιεί τη ρουτίνα χειρισμού σφάλματος η οποία αρχίζει στη γραμμή "Labelname".

Resume Next: Αν παρουσιαστεί σφάλμα, η εκτέλεση του προγράμματος συνεχίζεται με την πρόταση να ακολουθεί την πρόταση εκείνη στην οποία παρουσιάστηκε το σφάλμα.

Μετάβαση σε 0: Απενεργοποιεί το διαχειριστή σφαλμάτων στην τρέχουσα διαδικασία.

Τοπικό: "On error" είναι γενικής εμβέλειας και παραμένει ενεργό μέχρι να ακυρωθεί από μια άλλη δήλωση "On error". "On Local error" είναι τοπικό στη ρουτίνα που το καλεί. Η διαχείριση τοπικών σφαλμάτων αντικαθιστά οποιαδήποτε προηγούμενη γενική ρύθμιση. Όταν η καλούσα ρουτίνα εξέρχεται, η διαχείριση τοπικού σφάλματος ακυρώνεται αυτόματα και οποιαδήποτε προηγούμενη γενική ρύθμιση επαναφέρεται.

Η δήλωση On Error GoTo χρησιμοποιείται για αντίδραση στα σφάλματα που συμβαίνουν σε μια μακροεντολή.

Παράδειγμα:


Sub ExampleReset
On Error GoTo ErrorHandler
    Dim iNumber As Integer
    Dim iCount As Integer
    Dim sLine As String
    Dim aFile As String
    aFile = "C:\Users\ThisUser\data.txt"
    iNumber = Freefile
    Open aFile For Output As #iNumber
    Print #iNumber, "Αυτή είναι μια γραμμή κειμένου"
    Close #iNumber
    iNumber = Freefile
    Open aFile For Input As iNumber
    For iCount = 1 To 5
        Line Input #iNumber, sLine
        If sLine <>"" Then
            Rem
        End If
    Next iCount
    Close #iNumber
    Exit Sub
ErrorHandler:
    Reset
    MsgBox "Όλα τα αρχεία θα κλείσουν", 0, "Σφάλμα"
End Sub

Παρακαλούμε, υποστηρίξτε μας!