Hataları Bulma ve Düzeltme
Şimdiye kadar programlarınızda karşılaştığınız kusurlar, muhtemelen basit yazım hataları veya sözdizimi hataları olmuştur. Ama ya programınızda daha kötü bir sorun keşfederseniz – kullandığınız nesneleri, özellikleri ve ifadeleri basit bir şekilde gözden geçirerek bulamadığınız ve düzeltemeyeceğiniz bir sorun? Visual Studio IDE, programlarınızdaki hataları izlemenize ve düzeltmenize yardımcı olan birkaç araç içerir. Bu araçlar sizi hata yapmaktan alıkoymaz, ancak bir hatayla karşılaştığınızda genellikle acıyı hafifletir.
Üç Tür Hata
Bir Visual Basic programında üç tür hata oluşabilir: sözdizimi hataları, çalışma zamanı hataları ve mantık hataları.
- Bir sözdizimi hatası (ya da derleyici hatası ) Visual Basic kurallarını ihlal (örneğin yanlış yazılmış mülkiyet veya anahtar kelime) bir programlama hatadır. Visual Basic, program deyimlerini yazarken programlarınızdaki birkaç tür sözdizimi hatasına işaret eder ve her sözdizimi hatasını düzeltene kadar bir programı çalıştırmanıza izin vermez.
- Bir çalışma zamanı hatası yürütme sırasında beklenmedik durdurmak için bir program neden olan bir hatadır. Çalışma zamanı hataları, bir dış olay veya keşfedilmemiş bir sözdizimi hatası, bir programı çalışırken durmaya zorladığında oluşur. Örneğin, System.Drawing.Image.FromFile yöntemini kullanırken bir dosya adını yanlış yazarsanız veya disket sürücüsünü okumaya çalışırsanız ve disk içermiyorsa, kodunuz bir çalışma zamanı hatası oluşturur.
- Bir mantık hatası , bir insan hatasıdır; program kodunun yanlış sonuçlar üretmesine neden olan bir programlama hatasıdır. Çoğu hata ayıklama çabası, programcı tarafından sunulan mantık hatalarının izini sürmeye odaklanır.
Bir sözdizimi hatasıyla karşılaşırsanız, genellikle hata mesajı hakkında daha fazla bilgi edinmek için Visual Basic çevrimiçi Yardım’ı kullanarak sorunu çözebilir ve işlevlerin, nesnelerin, yöntemlerin ve işlevlerin tam sözdizimine çok dikkat ederek hatayı düzeltebilirsiniz. kullandığınız özellikler. Kod Düzenleyici’de yanlış ifadelerin altı mavi, pürüzlü bir çizgiyle çizilir ve fare işaretçisini ifadenin üzerinde tutarak hata hakkında daha fazla bilgi edinebilirsiniz. Aşağıdaki çizim, Case anahtar sözcüğünü “Csae” olarak yanlış yazdığımda ve ardından fare işaretçisini hatanın üzerinde tuttuğumda Visual Studio’da görünen hata mesajını göstermektedir . Bu hata mesajı bir Ekran İpucu olarak görünür.
Bir çalışma zamanı hatasıyla karşılaşırsanız, genellikle yazımınızı düzelterek sorunu çözebilirsiniz. Örneğin, bir bitmap bir resim kutusu nesnesine yanlış yüklenirse, sorun yalnızca yanlış yazılmış bir yol olabilir. Ancak, birçok çalışma zamanı hatası daha kapsamlı bir çözüm gerektirir. Programlarınıza, bir çalışma zamanı hatasını oluştuğunda tanıyan, tüm hata mesajlarını bastıran ve program koşullarını sorunu ele alacak şekilde ayarlayan özel bir program kodu bloğu olan yapılandırılmış bir hata işleyicisi ekleyebilirsiniz . Yapılandırılmış hata işleyiciler için yeni sözdizimini Bölüm 9, “Yapılandırılmış Hata İşleme Kullanarak Hataları Yakalama” bölümünde tartışıyorum.
Mantık Hatalarını Belirleme
Programlarınızdaki mantık hataları genellikle düzeltilmesi en zor olanlardır. Bunlar, Visual Basic sözdizimi hakkında bir yanlış anlama değil, hatalı akıl yürütme ve planlamanın sonucudur. Aşağıda gösterilen, iki koşullu ifadeyi değerlendiren ve ardından sonuca göre iki mesajdan birini görüntüleyen If…Then karar yapısını göz önünde bulundurun.
Yaş > 13 Ve Yaş < 20 ise, TextBox2.Text = "Gençsin" Else TextBox2.Text = "Genç değilsin" End If
Bu karar yapısındaki sorunu tespit edebilir misiniz? Ergen, 13 ile 19 yaşları arasında, dahil, ancak yapı tam olarak 13 olan kişiyi tanımlayamayan bir kişidir. (Bu yaş için, yapı hatalı olarak “Sen bir genç değilsin” mesajını görüntüler.) Bu hata türü bir sözdizimi hatası değildir (çünkü ifadeler Visual Basic kurallarına uyar); bu zihinsel bir hata veya mantık hatası. Doğru karar yapısı, burada gösterildiği gibi If…Then ifadesinden sonraki ilk karşılaştırmada büyük veya eşit işleci ( >= ) içerir :
Yaş >= 13 Ve Yaş < 20 ise
İster inanın ister inanmayın, bu tür hatalar bir Visual Basic programında en yaygın sorundur. Her zaman olmasa da çoğu zaman beklenen sonuçları veren kod, test edilmesi ve düzeltilmesi en zor olanıdır.