Αυτήν τη στιγμή είστε εκτός σύνδεσης, σε αναμονή για επανασύνδεση στο Internet

ΔΙΑΔΙΚΑΣΙΕΣ: Χρήση δομημένων εξαίρεση χειρισμό σε Visual Basic .NET ή Visual Basic 2005

ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο έχει μεταφραστεί χρησιμοποιώντας λογισμικό μηχανικής μετάφρασης της Microsoft και μπορείτε να το διορθώσετε χρησιμοποιώντας την τεχνολογία Community Translation Framework (CTF) (Πλαίσιο μετάφρασης κοινότητας). Η Microsoft παρέχει μηχανική μετάφραση, επεξεργασία μετά τη μηχανική μετάφραση από την κοινότητα και άρθρα μεταφρασμένα από επαγγελματίες προκειμένου να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής βάσης σε πολλές γλώσσες. Τα άρθρα μηχανικής μετάφρασης και αυτά που επεξεργάζονται ύστερα από μηχανική μετάφραση ενδέχεται να περιέχουν σφάλματα στο λεξιλόγιο, στη σύνταξη ή/και στη γραμματική. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες μας. Για περισσότερες πληροφορίες σχετικά με το CTF, μεταβείτε στην τοποθεσία http://support.microsoft.com/gp/machine-translation-corrections/el.

Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη: 315965
Περίληψη
Αυτό το άρθρο περιγράφει τον τρόπο χρήσης δομημένων εξαίρεση χειρισμό σε Visual Basic .NET ή Visual Basic του 2005.

back to the top

Απαιτήσεις

Η ακόλουθη λίστα περιγράφει τα υλικού που συνιστώνται, λογισμικό, υποδομή δικτύου και τα service pack που χρειάζεστε:
  • Visual Basic .NET ή Visual Basic 2005
Αυτό το άρθρο προϋποθέτει ότι είστε εξοικειωμένοι με τα ακόλουθα θέματα:
  • Visual Basic .NET ή Visual Basic 2005
  • Microsoft Visual Studio .NET ή το Microsoft Visual Studio 2005
back to the top

Χειρισμού εξαιρέσεων δομημένη

Visual Basic .NET ή Visual Basic 2005 προσφέρει χειρισμό δομημένη εξαίρεση που παρέχει μια ισχυρή, πιο ευανάγνωστο εναλλακτική λύση "Μετάβαση σε σχετικά με το σφάλμα" σφάλμα χειρισμού, που είναι διαθέσιμες σε προηγούμενες εκδόσεις της Microsoft Visual Basic. Χειρισμού εξαιρέσεων δομημένη είναι πιο ισχυρή, επειδή σας επιτρέπει να κάνετε ένθεση δείκτες χειρισμού σφαλμάτων μέσα σε άλλα προγράμματα χειρισμού σφαλμάτων κατά την ίδια διαδικασία. Επιπλέον, χειρισμού εξαιρέσεων δομημένη χρησιμοποιεί ένα μπλοκ σύνταξη παρόμοια με το , εάν...Άλλος...End If δήλωση. Με αυτόν τον τρόπο κώδικα Visual Basic .NET και 2005 Visual Basic πιο ευανάγνωστη και πιο εύκολο να διατηρηθούν.

ΣΗΜΕΊΩΣΗ: Visual Basic .NET ή Visual Basic 2005 διατηρεί τη σύνταξη "Μετάβαση σε σχετικά με το σφάλμα" για συμβατότητα με παλαιότερες εκδόσεις. Μπορείτε να χρησιμοποιήσετε αυτήν τη σύνταξη στον κώδικα Visual Basic .NET ή Visual Basic 2005. Ωστόσο, δεν μπορείτε να συνδυάσετε χειρισμού εξαιρέσεων δομημένη και On Error δηλώσεως κατά την ίδια διαδικασία. Όταν γράφετε νέο κωδικό, η Microsoft συνιστά να χρησιμοποιείτε δομημένο χειρισμού εξαιρέσεων.

Η βασική σύνταξη χειρισμός σφαλμάτων δομημένη είναι ως εξής:
Try   'Code that may raise an error.Catch   'Code to handle the error.Finally   'Code to do any final clean up.End Try				
Απαιτούνται οι καταστάσεις και Προσπαθήστε τέλος . Οι καταστάσεις Catch και τελικά δεν είναι απαραίτητα, αν τουλάχιστον ένα από αυτά θα πρέπει να το συμπεριλάβετε στον κώδικά σας. Μπορείτε επίσης να καθορίσετε πολλαπλές δηλώσεις Catch , έτσι ώστε κάθε μπλοκ Catch χειρίζεται ένα συγκεκριμένο σφάλμα.

back to the top

Εντοπίσει μία εξαίρεση

  1. Ξεκινήστε το Visual Studio .NET ή Visual Studio 2005.
  2. Δημιουργήστε ένα νέο έργο εφαρμογής κονσόλας σε Visual Basic .NET ή Visual Basic του 2005.
  3. Στη διαδικασία Sub Main , προσθέστε τον ακόλουθο κώδικα:
    Dim a As Integer = 0Dim b As Integer = 0Dim c As Integer = 0Try  a = b \ cCatch exc As Exception  Console.WriteLine("A run-time error occurred")Finally  Console.ReadLine()End Try					
  4. Από το μενού Εντοπισμός σφαλμάτων , κάντε κλικ στο κουμπί Έναρξη για να εκτελέσετε την εφαρμογή. Ο κώδικας προσπαθεί να τη διαίρεση ενός αριθμού με το μηδέν. Αυτή είναι μια εσφαλμένη λειτουργία που έχει ως αποτέλεσμα μια διαίρεση με μηδέν εξαίρεση. Ευτυχώς, το μπλοκ Catch εντοπίζει αυτό το σφάλμα, και το παράθυρο της κονσόλας εμφανίζει το ακόλουθο μήνυμα λάθους:
    A run-time error has occurred						
  5. Κλείστε το παράθυρο της κονσόλας.
back to the top

Καταγράφει τις πολλές εξαιρέσεις

Αυτή η ενότητα δείχνει πώς να χρησιμοποιήσετε πολλαπλές δηλώσεις Catch για χειρισμό σφαλμάτων διαφορετικές.
  1. Ανοίξτε το έργο εφαρμογής κονσόλας που δημιουργήσατε στην προηγούμενη ενότητα.
  2. Στη διαδικασία Sub Main , αντικαταστήστε τον κώδικα που αντιγράψατε στην προηγούμενη ενότητα με τον ακόλουθο κώδικα:
    Dim a As Integer = 2147483647Dim b As Integer = 0Dim c As Integer = 0Try  a += 1Catch exc As DivideByZeroException  Console.WriteLine("Error: Divide by zero")Catch exc As OverflowException  Console.WriteLine("Error: Overflow")Finally  Console.ReadLine()End Try						
    Αυτός ο κωδικός περιλαμβάνει δύο μπλοκ Catch : μία για να τραβήξετε την προηγούμενη διαίρεση με μηδέν σφάλμα και μία για να τραβήξετε το νέο σφάλμα υπερχείλισης.
  3. Από το μενού Εντοπισμός σφαλμάτων , κάντε κλικ στο κουμπί Έναρξη για να εκτελέσετε την εφαρμογή. Το παράθυρο της κονσόλας εμφανίζει το ακόλουθο μήνυμα λάθους:
    Error: Overflow						
  4. Κλείστε το παράθυρο της κονσόλας.
  5. Επειδή δεν μπορείτε να προβλέψετε πάντα κάθε σφάλμα που ενδέχεται να προκύψουν, μπορείτε να προσθέσετε ένα μπλοκ Catch όλα για μη αναμενόμενες εξαιρέσεις. Για παράδειγμα, προσθέστε τον ακόλουθο κώδικα πριν από την πρόταση " Τέλος " για να εντοπίσετε τυχόν λάθη μη αναμενόμενες και εμφανίζει το κατάλληλο μήνυμα λάθους:
    Catch exc As ExceptionConsole.WriteLine("Error: " & exc.Message)					
  6. Στο μενού αρχείο , κάντε κλικ στο κουμπί Κλείσιμο λύση.
back to the top

Δημιουργήστε μια εξαίρεση

Χειρισμού εξαιρέσεων δομημένη χρησιμοποιεί την πρόταση Catch για να εντοπίσει μία εξαίρεση. Δομημένη εξαίρεση διακινούνται επίσης παρέχει έναν τρόπο για να δημιουργήσει μια εξαίρεση. Για παράδειγμα, είναι χρήσιμο να δημιουργήσει μια εξαίρεση κατά την εκτέλεση επικύρωσης δεδομένων μέσα σε μια διαδικασία με Ιδιότητα την τιμή , επειδή θέλετε να δημιουργήσετε ένα σφάλμα εάν παραβιαστεί ένας κανόνας της επιχείρησης.
  1. Ξεκινήστε το Visual Studio .NET ή Visual Studio 2005.
  2. Δημιουργήστε ένα νέο έργο εφαρμογής κονσόλας σε Visual Basic .NET ή Visual Basic του 2005.
  3. Στο μενού ' έργο ', κάντε κλικ στο κουμπί Προσθήκη κλάση.
  4. Στο παράθυρο " Προσθήκη νέου στοιχείου ", πληκτρολογήστε clsPerson.vb στο κείμενο όνομα πλαίσιο και, στη συνέχεια, κάντε κλικ στο κουμπί OK.
  5. Προσθέστε τον ακόλουθο κώδικα στο εσωτερικό της clsPerson δημόσια κλάσης...Τέλος της κλάσης δηλώσεις:
    Private mintAge As IntegerPublic Property Age() As Integer  Get    Age = mintAge  End Get  Set(ByVal Value As Integer)    If Value >= 0 Then      mintAge = Value    Else      Throw New ArgumentException ("Age cannot be negative")    End If  End SetEnd Property						
    Αυτός ο κώδικας δημιουργεί μια ιδιότητα ηλικία . Επειδή ένα άτομο δεν μπορεί να έχει μια αρνητική ηλικία, σφάλμα ενεργοποιείται όταν ο χρήστης της κλάσης προσπαθήσει να ορίσετε ηλικία σε έναν αριθμό που είναι μικρότερο από το μηδέν.
  6. Στη διαδικασία Sub Main Module1.vb, προσθέστε τον ακόλουθο κώδικα:
    Dim p As New clsPerson()Try  p.Age = -1Catch exc As Exception  Console.WriteLine(exc.Message)Finally  Console.ReadLine()End Try					
  7. Από το μενού Εντοπισμός σφαλμάτων , κάντε κλικ στο κουμπί Έναρξη για να εκτελέσετε την εφαρμογή. Το παράθυρο της κονσόλας εμφανίζει το ακόλουθο μήνυμα λάθους:
    Age cannot be negative						
  8. Κλείστε το παράθυρο της κονσόλας.
back to the top

Ολοκληρώσετε την καταχώρηση κωδικού

Εντοπίσει μία εξαίρεση

Module Module1  Sub Main()    Dim a As Integer = 0    Dim b As Integer = 0    Dim c As Integer = 0    Try      a = b \ c    Catch exc As Exception      Console.WriteLine("A run-time error occurred")    Finally      Console.ReadLine()    End Try  End SubEnd Module				
back to the top

Καταγράφει τις πολλές εξαιρέσεις

Module Module1  Sub Main()    Dim a As Integer = 2147483647    Dim b As Integer = 0    Dim c As Integer = 0    Try      a += 1    Catch exc As DivideByZeroException      Console.WriteLine("Error: Divide by zero")    Catch exc As OverflowException      Console.WriteLine("Error: Overflow")    Catch exc As Exception      Console.WriteLine("Error: " & exc.Message)    Finally      Console.ReadLine()    End Try  End SubEnd Module				
back to the top

Δημιουργήστε μια εξαίρεση

Module Module1  Sub Main()    Dim p As New clsPerson()    Try      p.Age = -1    Catch exc As Exception      Console.WriteLine(exc.Message)    Finally      Console.ReadLine()    End Try  End SubEnd ModulePublic Class clsPerson  Private mintAge As Integer  Public Property Age() As Integer    Get      Age = mintAge    End Get    Set(ByVal Value As Integer)      If Value >= 0 Then        mintAge = Value      Else        Throw New ApplicationException("Age cannot be negative")      End If    End Set  End PropertyEnd Class				
back to the top

ΑΝΑΦΟΡΕΣ

Για περισσότερες πληροφορίες, ανατρέξτε στις ακόλουθες τοποθεσίες της Microsoft στο Web:
Σφάλμα κατά το χειρισμό του τρόπου VB.NET: ζουν με εξαιρέσεις (ένα άρθρο Προγραμματιστές Visual Basic )
http://MSDN.Microsoft.com/en-us/library/aa227603 (v=vs.60).aspx

Πώς μπορώ να εντοπίσει μία εξαίρεση
http://MSDN.Microsoft.com/en-us/library/ys1b32h3 (v=vs.80).aspx

Πώς μπορώ να δημιουργήσει μια εξαίρεση
http://MSDN.Microsoft.com/en-us/library/z7w9ff54 (v=vs.80).aspx

back to the top

Προειδοποίηση: Αυτό το άρθρο έχει μεταφραστεί με μηχανική μετάφραση

Ιδιότητες

Αναγνωριστικό άρθρου: 315965 - Τελευταία αναθεώρηση: 10/29/2013 00:02:00 - Αναθεώρηση: 3.0

Microsoft Visual Basic 2005, Microsoft Visual Basic .NET 2003 Standard Edition, Microsoft Visual Basic .NET 2002 Standard Edition

  • kbvs2005swept kbvs2005applies kbhowtomaster kbmt KB315965 KbMtel
Σχόλια