Πώς θα καταγράφει τις εξαιρέσεις του 2005 Visual Basic ή στην Visual Basic.NET

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 301283 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Microsoft Visual C# και Microsoft Visual C# 2005.NET έκδοση αυτού του άρθρου, ανατρέξτε στην ενότητα308345.

Για την έκδοση Microsoft Visual Basic 6.0 αυτού του άρθρου, ανατρέξτε στην ενότητα191474.
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

Περίληψη

Αλίευση και ασχολούνται με εξαιρέσεις είναι ένα πρότυπο εργασία προγραμματισμού. Αυτό το άρθρο παρουσιάζει τον τρόπο χρήσης ενόςtry-catch-τέλοςμπλοκ για να τραβήξετε μια εξαίρεση. Αtry-catch-τέλοςμπλοκ είναι ένα "κάλυμμα" που έχετε τοποθετήσει γύρω από οποιονδήποτε κώδικα όπου το υπάρχει δυνατότητα εξαίρεσης.

Αtry-catch-τέλοςαποκλεισμός αποτελείται από τις ακόλουθες ενότητες:
  • Κάθε κώδικα που μπορεί να δημιουργήσει μια εξαίρεση τοποθετείται στο εσωτερικό τουΔοκιμάστεμπλοκ.
  • Εάν παρουσιαστεί εξαίρεση, τοcatchΕισαγωγή μπλοκ και το πρόγραμμα να εκτελέσει τον κατάλληλο η λειτουργία να ανακτήσετε ή να ειδοποιήσει το χρήστη.
  • Ο κώδικας στο τοΤέλοςαποκλεισμός εκτελείται πάντα και να πραγματοποιήσετε εκκαθάριση έπειτα από μια Παρουσιάστηκε μια εξαίρεση. ΤοΤέλοςμπλοκ είναι προαιρετική.

Απαιτήσεις

Η ακόλουθη λίστα περιγράφει το υλικού που συνιστώνται, λογισμικό, υποδομή δικτύου και τα service pack που χρειάζεστε:
  • Microsoft Windows Server 2003, Microsoft Windows 2000 Professional, Windows 2000 Server Τα Windows 2000 Advanced Server ή Microsoft Windows NT 4.0 Server
  • 2005 Του Microsoft Visual Basic ή Microsoft Visual Basic.NET

Παράδειγμα βήμα προς βήμα

  1. Δημιουργία νέας εφαρμογής κονσόλας 2005 Visual Basic ή στην Visual Basic.NET.
  2. Στη διαδικασία Sub Main, εισαγάγετε τον κωδικό δείγμα που ακολουθεί. Το δείγμα δηλώνει και προετοιμάζει τρεις μεταβλητές, όπου το προετοιμασία του "k" προκαλεί σφάλμα.
    ' This code generates an exception.
    	Console.WriteLine("We're going to divide 10 by 0 and see what happens...")
    	Console.WriteLine()
    
    	Dim i as Integer = 10
    	Dim j as Integer = 0
    	Dim k As Integer = i/j ' Error on this line.
    					
  3. Πιέστε το πλήκτρο F5 για να προβάλετε την εξαίρεση.
  4. Αναδιπλώστε έναtry-catchη πρόταση γύρω από τον κώδικά σας για την καταγραφή του σφάλματος. Τα ακόλουθα τα αλιεύματα όλα τα σφάλματα που προκύπτουν στον κώδικα και εμφανίζει ένα γενικό κώδικα μήνυμα λάθους. Αντικαταστήστε τον κώδικα στη διαδικασία Sub Main με την ακόλουθη Κωδικός.
    ' This code shows how to catch an exception.
    Try
    	Console.WriteLine("We're going to divide 10 by 0 and see what happens...")
    	Console.WriteLine()
    
    	Dim i as Integer = 10
    	Dim j as Integer = 0
    	Dim k As Integer = i/j ' Error on this line. Control jumps to the catch block.
    Catch
    	Console.WriteLine("An error occurred.")
    End Try
  5. Πιέστε το συνδυασμό πλήκτρων CTRL + F5 για να εκτελεστεί το έργο. Επισημαίνεται ότι το σφάλμα εμφανίζεται το μήνυμα από τοcatchεμφανίζεται το παράθυρο αποκλεισμού.
  6. Εάν ορισμένα εκκαθάρισης ή post-processing πρέπει να γίνει ανεξάρτητα από το σφάλμα, χρησιμοποιήστε τοΤέλοςΟρισμένες από τιςtry-catch-τέλοςη πρόταση. Κώδικα με τοΤέλοςτο τμήμα της πρότασης είναι πάντα εκτελείται, ανεξάρτητα από μια εξαίρεση. Ο ακόλουθος κώδικας εμφανίζει "δήλωση αυτή εκτυπώνεται πάντα" στο στην κονσόλα, ακόμα και αν δεν Παρουσιάστηκε κανένα σφάλμα. Αντικαταστήστε τον κώδικα Sub Main με το παρακάτω κώδικα.
    ' This code shows how to catch an exception.	
    Try
    	Console.WriteLine("We're going to divide 10 by 0 and see what happens...")
    	Console.WriteLine()
    
    	Dim i as Integer = 10
    	Dim j as Integer = 0
    	Dim k As Integer = i/j ' Error on this line. Control jumps to the catch block.
    
    Catch
    	Console.WriteLine("An error occurred.")
    Finally   ' This section is performed regardless of the above processing.
    	Console.WriteLine()
    	Console.WriteLine("This statement is always printed")
    End Try
    					
  7. Πιέστε το συνδυασμό πλήκτρων CTRL + F5 για να εκτελεστεί το έργο.
  8. Μπορείτε να χρησιμοποιήσετε το αντικείμενο εξαίρεσης με τοcatchπρόταση για να ανακτάτε λεπτομέρειες σχετικά με την εξαίρεση. Εξαίρεση έχει πολλές ιδιότητες που μπορείτε να αναγνωρίζετε Βοήθεια, πηγή, ή ακόμη και πληροφορίες σχετικά με μια εξαίρεση στη στοίβα. Αυτές οι πληροφορίες μπορεί να είναι πολύ χρήσιμη για την παρακολούθηση προς τα κάτω την αρχική αιτία της εξαίρεσης ή παρέχοντας μια καλύτερη ΕΞΗΓΗΣΗ η προέλευση. Το ακόλουθο δείγμα εξαίρεση τα αλιεύματα και δίνει ένα συγκεκριμένο μήνυμα λάθους. Ως πριν, μπορείτε να αντικαταστήσετε τον κωδικό με τη Sub Main διαδικασία με τον ακόλουθο κώδικα.

    Παράδειγμα 1
    ' This code shows how to catch an exception.
    Try
    	Console.WriteLine("We're going to divide 10 by 0 and see what happens...")
    	Console.WriteLine()
    
    	Dim i as Integer = 10
    	Dim j as Integer = 0
    	Dim k As Integer = i/j ' Error on this line. Control jumps to the catch block.
    
    Catch e As Exception  ' Perform code that deals with the exception
                          ' or informs the user what occurred.
    	Console.WriteLine("The following error occurred:")
    	Console.WriteLine(e.ToString())  ' Print the error message to the user.
    
    Finally   ' This section is performed regardless of the above processing.
    	Console.WriteLine()
    	Console.WriteLine("This statement is always printed")
    End Try
    					
    Παράδειγμα 2
    ' This code shows how to catch an exception.
    Try
    	Console.WriteLine("We're going to divide 10 by 0 and see what happens...")
    	Console.WriteLine()
    
    	Dim i as Integer = 10
    	Dim j as Integer = 0
    	Dim k As Integer = i/j ' Error on this line. Control jumps to the catch block.
    
    Catch e As Exception  ' Perform code that deals with the exception
                          ' or informs the user what occurred.
            Console.WriteLine("The following error occurred:")
            Console.WriteLine( e.Message )     ' Print the error message.
            Console.WriteLine( e.Source )      ' Name of application or object
                                               ' that caused the error
            Console.WriteLine( e.StackTrace )  ' String that contains the stack 
                                               ' trace for this exception
    Finally   ' This section is performed regardless of the above processing.
            Console.WriteLine()
            Console.WriteLine("This statement is always printed")
    End Try
    					
  9. Μέχρι αυτό το σημείο, έχει ασχοληθεί με την συγκεκριμένη περίπτωση ένα μη συγκεκριμένο εξαίρεση. Ωστόσο, εάν γνωρίζετε σε προώθηση τι είδους θα παρουσιαστεί εξαίρεση, μπορούν να αλιεύουν στην προβλεπόμενη εξαίρεση και Επεξεργασία αναλόγως. Στη συνέχεια, μπορείτε να χρησιμοποιήσετε πολλέςCatchμπλοκ catch όλες τις άλλες εξαιρέσεις και αντιμετώπισής τους καθώς και. Το ακόλουθο δείγμα επιδεικνύει αυτό.
    Module Module1
    Sub Main()
    
    ' Attempt to do some file processing.
    ' This can cause a number of potential exceptions.
    ' Note that you can use the specific exceptions to get extra information about that exception,
    ' but this example focuses on showing control execution for those exceptions.
    
    Try
    	File.Create("c:/temp/test.txt")  ' Can fail for a number of reasons
    
    Catch ioe As System.IO.IOException ' This error may occur if the Temp folder does not exist.
    	Console.WriteLine("An IO error occurred. The c:\temp folder does not exist")
    
    Catch se As System.Security.SecurityException ' You do not have the appropriate permission
                                                  ' to take this action.
    	Console.WriteLine("You don't have the security permissions to take this action!")
    
    Catch e As Exception    ' Catch all other exceptions.
    	Console.WriteLine( e.ToString() )  ' Print the standard exception information.
    End Try
    End Sub
    End Module
    Επειδή οι ρυθμίσεις παραμέτρων του υπολογιστή ενδέχεται να διαφέρουν, το δείγμα σε αυτό βήμα μπορεί ή δεν μπορεί να δημιουργήσει μια εξαίρεση. Εάν θέλετε να επιβάλετε μια εξαίρεση εισόδου/ΕΞΌΔΟΥ, Αλλάξτε τη διαδρομή του αρχείου σε ένα φάκελο που δεν υπάρχει σε σας υπολογιστής.

Αναφορές

Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα της Microsoft.NET Framework Κιτ ανάπτυξης λογισμικού (SDK).

Ιδιότητες

Αναγν. άρθρου: 301283 - Τελευταία αναθεώρηση: Πέμπτη, 27 Ιανουαρίου 2011 - Αναθεώρηση: 4.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Λέξεις-κλειδιά: 
kbvs2005swept kbvs2005applies kbhowtomaster kbmt KB301283 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:301283

Αποστολή σχολίων

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com