Hata Türleri (Visual Basic)
Bu Visual Basic, hatalar üç kategoriye ayrılır: söz dizimi hataları, çalışma zamanı hataları ve mantık hataları.
Söz Dizimi Hataları
Söz dizimi hataları, siz kod yazma sırasında görünen hatalardır. Visual Studio kullanıyorsanız Visual Basic Kod Düzenleyicisi penceresine yazarak kodunuzu denetler ve bir sözcüğü yanlış yazma veya dil öğesini yanlış kullanma gibi bir hatayla karşınıza çıktınız için sizi uyarabilir. Komut satırdan derlersiniz, Visual Basic söz dizimi hatası hakkında bilgilerle birlikte bir derleyici hatası görüntüler. En yaygın hata türü söz dizimi hatalarıdır. Bunları kodlama ortamında oluştuğu anda kolayca düzeltebilirsiniz.
Not
deyimi, Option Explicit söz dizimi hatalarından kaçınmanın bir anlamıdır. Sizi uygulamada kullanılacak tüm değişkenleri önceden bildirebilirsiniz. Bu nedenle, kodda bu değişkenler kullanılırken tüm yazım hataları hemen yakalır ve düzeltebilirsiniz.
Run-Time Hataları
Çalışma zamanı hataları, yalnızca kodunuzu derledikten ve çalıştırdikten sonra görünen hatalardır. Bunlar, söz dizimi hatasına sahip olmadığını ancak yürütülmeyecek olması için doğru gibi görünen kodu içerir. Örneğin, bir dosyayı açmak için doğru bir kod satırı yazabilirsiniz. Ancak dosya yoksa, uygulama dosyayı açamaz ve bir özel durum oluşturur. Hatalı kodu yeniden yazarak veya özel durum işlemeyi kullanarak ve sonra yeniden derleme ve yeniden çalıştırarak çoğu çalışma zamanı hatalarını düzeltebilirsiniz.
Mantık Hataları
Mantıksal hatalar, uygulama kullanımdan sonra görünen hatalardır. Bunlar genellikle geliştirici tarafından yapılan hatalı varsayımlar veya kullanıcı eylemlerine yanıt olarak istenmeyen veya beklenmeyen sonuçlardır. Örneğin, yanlış türe sahip bir anahtar bir yönteme yanlış bilgi sağlaysa da yönteme her zaman geçerli bir değer sağlanmış olduğunu varsaymanız gerekir. Mantık hataları özel durum işleme kullanılarak işlenese de (örneğin, bir bağımsız değişkenin olup olmadığını test edip bir atarak), en yaygın olarak bu hataların mantıkta düzeltilip uygulama yeniden derlemesi Nothing ArgumentNullException gerekir.