Visual Basic'te uyarıları yapılandırma
Visual Basic derleyicisi, kod hakkında çalışma zamanı hatalarına neden olabilecek bir dizi uyarı içerir. Daha az hatayla daha temiz, daha hızlı ve daha iyi kod yazmak için bu bilgileri kullanabilirsiniz. Örneğin, kullanıcı atanmamış bir nesne değişkeninin üyesini çağırmaya, dönüş değerini ayarlamadan işlevden döndürmeye veya özel durumları yakalamak için mantıkta hata içeren bir blok yürütmeye çalıştığında derleyici bir Try
uyarı üretir.
Bazen derleyici, kullanıcının adına ek mantık sağlar, böylece kullanıcı olası hataları tahmin etmek yerine eldeki göreve odaklanabilir. Visual Basic'in önceki sürümlerinde, Visual Basic derleyicisinin sağladığı ek mantığı sınırlamak için Option Strict kullanılmıştı. Uyarıları yapılandırmak, bu mantığı tek tek uyarılar düzeyinde daha ayrıntılı bir şekilde sınırlamanıza olanak tanır.
Projenizi özelleştirmek ve diğer uyarıları hataya dönüştürürken uygulamanızla ilgili olmayan bazı uyarıları kapatmak isteyebilirsiniz. Bu sayfada tek tek uyarıların nasıl açılıp kapattığı açıklanmaktadır.
Uyarıları kapatma ve açma
Uyarıları yapılandırmanın iki farklı yolu vardır: Bunları Proje Tasarımcısı'nı kullanarak yapılandırabilir veya /warnaserror ve /nowarn derleyici seçeneklerini kullanabilirsiniz.
Proje Tasarımcısı sayfasının Derle sekmesi, uyarıları açıp kapatmanızı sağlar. Tüm uyarıları devre dışı bırakmak için Tüm Uyarıları Devre Dışı Bırak onay kutusunu seçin; tüm uyarıları hata olarak işlemek için Tüm Uyarıları Hata Olarak Değerlendir'i seçin. Bazı tek tek uyarılar, görüntülenen tabloda istendiği gibi hata veya uyarı olarak değiştirilebilir.
Seçenek Katı Kapalı olarak ayarlandığında, Option Strict ile ilgili uyarılar birbirinden bağımsız olarak işlenemez. Seçenek Katı Açık olarak ayarlandığında, durumlarının ne olduğu fark etmez, ilişkili uyarılar hata olarak değerlendirilir. Seçenek Katı, komut satırı derleyicisinde belirtilerek /optionstrict:custom
Özel olarak ayarlandığında, Seçenek Katı uyarıları bağımsız olarak açılabilir veya kapatılabilir.
Derleyicinin /warnaserror komut satırı seçeneği, uyarıların hata olarak ele alınıp alınmayacağını belirtmek için de kullanılabilir. + veya - kullanarak hangi uyarıların hata veya uyarı olarak kabul edilmesi gerektiğini belirtmek için bu seçeneğe virgülle ayrılmış bir liste ekleyebilirsiniz. Aşağıdaki tabloda olası seçenekler ayrıntılı olarak yer alır.
Komut satırı seçeneği | Belirler |
---|---|
/warnaserror+ |
Tüm uyarıları hata olarak değerlendirin |
/warnsaserror - |
Uyarı olarak hata olarak davranmayın. Bu varsayılan seçenektir. |
/warnaserror+:<warning list > |
Belirli uyarıları, virgülle ayrılmış bir r listesinde hata kimlik numarasıyla listelenen hatalar olarak kabul edin. |
/warnaserror-:<warning list> |
Belirli uyarıları, virgülle ayrılmış bir listede hata kimlik numarasıyla listelenen hatalar olarak kabul etmeyin. |
/nowarn |
Uyarı bildirmeyin. |
/nowarn:<warning list> |
Belirtilen uyarıları, virgülle ayrılmış bir listede hata kimliği numarasıyla listelenmiş olarak bildirmeyin. |
Uyarı listesi, hata olarak ele alınması gereken uyarıların hata kimliği numaralarını içerir. Bu numaralar, belirli uyarıları açmak veya kapatmak için komut satırı seçenekleriyle kullanılabilir. Uyarı listesinde geçersiz bir sayı varsa bir hata bildirilir.
Örnekler
Bu komut satırı bağımsız değişkenleri örnekleri tablosu, her bağımsız değişkenin ne yaptığını açıklar.
Bağımsız değişken | Açıklama |
---|---|
vbc /warnaserror |
Tüm uyarıların hata sayılması gerektiğini belirtir. |
vbc /warnaserror:42024 |
Uyarı 42024'e hata olarak davranılması gerektiğini belirtir. |
vbc /warnaserror:42024,42025 |
42024 ve 42025 uyarılarının hata olarak ele alınması gerektiğini belirtir. |
vbc /nowarn |
Hiçbir uyarının bildirilmemesi gerektiğini belirtir. |
vbc /nowarn:42024 |
42024 uyarısının bildirilmemesi gerektiğini belirtir. |
vbc /nowarn:42024,42025 |
42024 ve 42025 uyarılarının bildirilmemesi gerektiğini belirtir. |
Uyarı türleri
Aşağıda hata olarak ele almak isteyebileceğiniz uyarıların listesi yer alır.
Örtük dönüştürme uyarısı
Örtük dönüştürme örnekleri için oluşturulur. bunlar işlecini kullanırken &
bir iç sayısal türden dizeye örtük dönüştürmeler içermez. Yeni projeler için varsayılan değer kapalıdır.
Kimlik: 42016
Geç bağlı yöntem çağırma ve aşırı yükleme çözümleme uyarısı
Geç bağlama örnekleri için oluşturulur. Yeni projeler için varsayılan değer kapalıdır.
Kimlik: 42017
'Object' uyarılarının türüne ait işlenenler
Option Strict On ile bir hata oluşturacak türde Object
işlenenler oluştuğunda oluşturulur. Yeni projeler için varsayılan açık.
Kimlik: 42018 ve 42019
Bildirimler için 'As' yan tümcesi uyarıları gerekir
Yan tümcesi olmayan As
bir değişken, işlev veya özellik bildirimi Option Strict On ile bir hata oluşturduğunda oluşturulur. Kendilerine atanmış bir türe sahip olmayan değişkenlerin türü Object
olduğu varsayılır. Yeni projeler için varsayılan açık.
Kimlik: 42020 (değişken bildirimi), 42021 (işlev bildirimi) ve 42022 (özellik bildirimi).
Olası null başvuru özel durum uyarıları
Bir değişkene bir değer atanmadan önce kullanıldığında oluşturulur. Yeni projeler için varsayılan açık.
Kimlik: 42104, 42030
Kullanılmayan yerel değişken uyarısı
Yerel değişken bildirildiğinde oluşturulur ancak hiçbir zaman başvurulmazdı. Varsayılan açık.
Kimlik: 42024
Örnek değişkeni uyarısı aracılığıyla paylaşılan üyeye erişim
Bir örnek aracılığıyla paylaşılan üyeye erişilirken oluşturulan yan etkiler olabilir veya bir örnek değişkeni aracılığıyla paylaşılan üyeye erişim bir ifadenin sağ tarafı değildir veya parametre olarak geçirilir. Yeni projeler için varsayılan açık.
Kimlik: 42025
Özyinelemeli işleç veya özellik erişim uyarıları
Bir yordamın gövdesi içinde tanımlandığı işleci veya özelliği kullandığında oluşturulur. Yeni projeler için varsayılan açık.
Kimlik: 42004 (işleç), 42026 (özellik)
Dönüş değeri uyarısı olmayan işlev veya işleç
İşlev veya işleç belirtilen bir dönüş değerine sahip olmadığında oluşturulur. Bu işlevle aynı ada sahip örtük yerel değişkene a Set
atmayı içerir. Yeni projeler için varsayılan açık.
Kimlik: 42105 (işlev), 42016 (işleç)
Modül uyarısında kullanılan aşırı yükleme değiştiricisi
Overloads
bir Module
içinde kullanıldığında oluşturulur. Yeni projeler için varsayılan açık.
Kimlik: 42028
Yinelenen veya çakışan catch uyarıları engelliyor
Tanımlanmış olan diğer Catch
bloklarla ilişkisi nedeniyle bir Catch
bloğa hiçbir zaman ulaşılamayınca oluşturulur. Yeni projeler için varsayılan açık.
Kimlik: 42029, 42031