SORU
25 Ocak 2011, Salı


İçiçe bloklar kötü bir fikir Yakalamak/denedin mi?

Hadi öyle bir yapısı var ki:

Try
  ' Outer try code, that can fail with more generic conditions, 
  ' that I know less about and might not be able to handle

  Try
    ' Inner try code, that can fail with more specific conditions,
    ' that I probably know more about, and are likely to handle appropriately
  Catch innerEx as Exception
    ' Handle the inner exception
  End Try

Catch outerEx as Exception
  ' Handle outer exception
End Try

Bu gibi Try yuvalama blok cesareti olan bazı görüşler gördüm, fakat herhangi bir sebep bulamadım.

Bu kötü bir şifre mi? Eğer öyleyse, neden?

CEVAP
25 Ocak 2011, Salı


Bazı durumlarda onlar iyi bir fikir, örneğin, bir try/catch için tüm yöntem ve içerisinde başka bir döngü olarak istediğiniz özel durum işlenecek ve işleme devam gerisi koleksiyonu/liste

Eğer hata biraz atlamak ve devam edin, yığın, dinlenmek ve bağlam kaybetmek yerine isterseniz gerçekten tek sebebi bu. Editör birden fazla dosya açılması iyi bir örnektir.

Bu istisnalar sadece bu olmalı - olağanüstü " dedi. Bir program bunları işlemek ama normal yürütme akışı (hesaplama açısından pahalı . bir parçası olarak onları önlemek için çalışmalısınız ^em>endil)

Faydalı olabilecek bir diğer teknik, belirli bir özel durum türleri yakalamak

Try
    'Some code to read from a file

Catch ex as IOException
    'Handle file access issues (possibly silently depending on usage)
Catch ex as Exception
    'Handle all other exceptions or just re-throw as you're unlikely to know what to do
    Throw
End Try

Aşağıda yorum Gooch tarafından işaret ettiği gibi, biz de hata işleme rutinleri içinde iç içe geçmiş bir try/yakalar

    Try
        Try
            'Log to database
        Catch ex As Exception
            'Do nothing
        End Try

        Try
            'Log to file
        Catch ex As Exception
            'Do nothing
        End Try
    Catch ex As Exception
        'Give up and go home
    End Try

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Andrea Lewis

    Andrea Lewis

    14 Mart 2013
  • Dogbert files

    Dogbert file

    12 Ocak 2012
  • filmurfreakur

    filmurfreaku

    29 Mart 2007