Πρόταση Resume

Επαναφέρει τις πληροφορίες σφάλματος και δείχνει τι θα εκτελεστεί μετά.

Σύνταξη:

Διάγραμμα πρότασης Resume

Resume [ [0] | label | Next ]

Παράμετροι:

0: Επαναφέρει τις πληροφορίες σφάλματος και επανεκτελεί την οδηγία που προκάλεσε το σφάλμα. Το 0 είναι προαιρετικό.

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

Next: Επαναφέρει τις πληροφορίες σφάλματος και εκτελεί την οδηγία ακολουθώντας αυτήν που προκάλεσε το σφάλμα.

Οι πληροφορίες σφάλματος είναι δομημένες με τις συναρτήσεις Erl, Err και Error$.

tip

Η χρήση της Συνέχισης για επαναφορά πληροφοριών σφάλματος αποτρέπει τη διάδοση της εξεταζόμενης κατάστασης στις καλούσες ρουτίνες.


Κωδικοί σφάλματος:

20 Επαναφορά χωρίς λάθος

Παραδείγματα:

Οι τυπικές ρουτίνες χειρισμού σφάλματος είναι: προειδοποίηση του χρήστη, διόρθωση του σφάλματος, καταγραφή πληροφοριών σφάλματος ή επαναποστολή προσαρμοσμένων σφαλμάτων που δίνουν εξηγήσεις με οδηγίες επίλυσης. Χρησιμοποιήστε Resume label κατά τη χρήση τέτοιων μηχανισμών.

Sub Error_Handling
try: On Error GoTo catch
    ' ο κώδικας της ρουτίνας πηγαίνει εδώ
    Error 91 ' παράδειγμα σφάλματος
finally:
    ' ο κώδικας καθαρισμού της ρουτίνας πηγαίνει εδώ
    Exit Sub
catch:
    Print Erl, Err, Error$
    Resume finally
End Sub ' Error_Handling

Χρησιμοποιήστε Resume Next, παραδείγματος χάρη, κατά την αναφορά ανωμαλιών που συνέβησαν για επαναληπτική διαδικασία που δεν πρέπει να διακοπεί. Σε αυτήν την περίπτωση μπορεί να απαιτηθούν πολλαπλές ρουτίνες χειρισμού.

Sub Iteration
    planets = Array("☿","♀","♁","♂","♃","♄","⛢","♆")
try:
    On Error GoTo ReportAndProcessNext
    For ndx = -3 To 11 Step 1
        MsgBox planets(ndx)
    Next
    On Error GoTo 0 ' Stop error catching
finally:
    Exit Sub
ReportAndProcessNext:
    Print "Error "& Err &" at line "& Erl &" - "& Error$
    Resume Next
End Sub ' Iteration
warning

Χρησιμοποιώντας το Resume χωρίς παραμέτρους για επανεκτέλεση της εσφαλμένης οδηγίας μπορεί να ταιριάζει σε συγκεκριμένες καταστάσεις. Όμως, αυτό μπορεί να προκαλεί έναν ατέρμονα βρόχο.


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