Jump to content

Proper Exception Handling or not...


nucleus

Recommended Posts

Δημοσιεύτηκε

Συνάντησα το παρακάτω

    Private Sub btnOpenFile_Click(sender As System.Object, e As System.EventArgs) Handles btnOpenFile.Click
        Try
            Dim openFileDialog1 As New OpenFileDialog()
            openFileDialog1.Filter = "All files | *.*;"
            'openFileDialog1.Multiselect = True
            If openFileDialog1.ShowDialog() = DialogResult.OK Then
                txtFileName.Text = openFileDialog1.FileName
                Try
                    _DocumentTypeExtention = openFileDialog1.FileName.Substring(openFileDialog1.FileName.LastIndexOf(".") + 1)
                Catch ex2 As Exception
                    Throw New Exception("Το αρχείο δεν είναι έγκυρο...")
                End Try
            End If
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub

Proper exception handling ftw! Είναι σωστό ή όχι?

Λάθος συντακτικά δεν είναι, λάθος λογικά, ναι.

Ο μόνος λόγος να βάλεις nested try/catch είναι αν έχεις πχ μια λούπα και θέλεις να πιάσεις το σφάλμα, και να συνεχίσεις με τα υπόλοιπα δεδομένα.

Εδώ, που απλά βάζει μήνυμα, είναι ανούσιο και σκίζει λίγο τον compiler.

Θα ήταν σαφώς καλύτερη πρακτική να έχει δύο:

 

Try
  ....
Catch ex As ΙΟException
            MessageBox.Show("Το μήνυμα που θέλει")
Catch ex As Exception
            MessageBox.Show(ex.Message)
End Try

 

Και εγώ αυτό σκέφτηκα ότι το εσωτερικό try catch είναι ανούσιο. Μάλλον είναι τέσσερα τα κιλά κώδικα

Archived

This topic is now archived and is closed to further replies.

×
×
  • Δημιουργία...

Important Information

Ο ιστότοπος theLab.gr χρησιμοποιεί cookies για να διασφαλίσει την καλύτερη εμπειρία σας κατά την περιήγηση. Μπορείτε να προσαρμόσετε τις ρυθμίσεις των cookies σας , διαφορετικά θα υποθέσουμε ότι είστε εντάξει για να συνεχίσετε.