Aracılığıyla paylaş


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 bir işlevden döndürmeye veya özel durumları yakalamak için mantıkta hata içeren bir Try bloğu yürütmeye çalıştığında derleyici bir 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ı açma ve kapatma

Uyarıları yapılandırmanın birkaç farklı yolu vardır: Proje Tasarımcısıkullanarak bunları yapılandırabilirsiniz. /warnaserror ve /nowarn derleyici seçeneklerini kullanabilir veya proje dosyasını (vbproj dosya) düzenleyebilir ve NoWarn MSBuild özelliğini kullanabilirsiniz. MSBuild özelliğini kullanmak için bkz. Visual Basic projesinin tamamı için belirli uyarıları gizleme.

Proje Tasarımcısı deneyimi, .NET Framework projesiyle mi yoksa .NET Core (veya .NET 5 veya üzeri) projesiyle mi çalıştığınıza bağlı olarak değişir.

.NET Core (veya .NET 5 ve üzeri) projelerinde, Proje TasarımcısıDerleme bölümünde, tüm uyarıları devre dışı bırakmak, tüm uyarıları hatalara yükseltmek veya her uyarı kategorisini ayrı ayrı denetlemek için kullanabileceğiniz Uyarı önem derecesi adlı bir ayar bulunur (varsayılan). Uyarı kategorisi ayarları, Proje Tasarımcısı'de aynı alanda görünür.

.NET Framework projelerinde, Proje TasarımcısıDerleme sekmesinde, 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 seçin. Bazı bireysel uyarılar, görüntülenen tabloda istenildiği gibi hata veya uyarı olarak ayarlanabilir.

Proje Tasarımcısı sayfasının Derleme 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 seçin. Bazı bireysel uyarılar, görüntülenen tabloda istenildiği gibi hata veya uyarı olarak ayarlanabilir.

Option StrictKapalıolarak ayarlandığında, Option Strict ile ilgili uyarılar birbirinden bağımsız olarak işlenemez. Seçenek Katı'daolarak ayarlandığında, durumları ne olursa olsun ilişkili uyarılar hata olarak değerlendirilir. Öz Seçenek Katı, komut satırı derleyicisinde belirterek /optionstrict:custom olarak ayarlandığında, Öz Seçenek Katı uyarıları bağımsız bir şekilde açılıp 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 Belirtir
/warnaserror+ veya /warnaserror Tüm uyarıları hata olarak değerlendirin
/warnsaserror- Uyarıları hata olarak değerlendirmeyin. Bu ayar varsayılan ayardır.
/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.

Tartışma Açıklama
vbc /warnaserror Tüm uyarıların hata olarak ele alınması 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ı

İmplicite dönüştürme örnekleri için oluşturulmuştur. bunlar, & işlecini kullanırken bir iç sayısal türden bir dizeye örtük dönüştürmeler içermez. Yeni projeler için varsayılan ayar 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 ayar kapalıdır.

Kimlik: 42017

'Object' türündeki işlenenlerle ilgili uyarılar

Object türündeki işlenenler oluştuğunda oluşturulur ve Option Strict Onile bir hata oluşturur. Yeni projeler için varsayılan ayar açıktır.

Kimlik: 42018 ve 42019

'As' cümlesi uyarıları bildirimler için gereklidir

As yan tümcesi olmayan bir değişken, işlev veya özellik bildirimi, Option Strict Onile bir hata oluşturduğunda oluşturulur. Kendilerine atanmış bir türe sahip olmayan değişkenlerin Objecttürü olduğu varsayılır. Yeni projeler için varsayılan ayar açıktır.

Kimlik: 42020 (değişken bildirimi), 42021 (işlev bildirimi) ve 42022 (özellik bildirimi).

Olası boş başvuru hatası uyarıları

Bir değişkene bir değer atanmadan önce kullanıldığında oluşturulur. Yeni projeler için varsayılan ayar açıktır.

Kimlik: 42104, 42030

Kullanılmayan yerel değişken uyarısı

Yerel bir değişken bildirildiğinde ancak hiçbir zaman başvurulmadığında oluşturulur. 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 ayar açıktır.

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 ayar açıktır.

Kimlik: 42004 (operatör), 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şkeni Set'ı çıkarmayı içerir. Yeni projeler için varsayılan ayar açıktır.

Kimlik: 42105 (işlev), 42016 (işleç)

Modül uyarısında kullanılan aşırı yükleme değiştiricisi

Overloads bir Modulekullanıldığında oluşturulur. Yeni projeler için varsayılan ayar açıktır.

Kimlik: 42028

Yinelenen veya çakışan catch blokları uyarıları

Tanımlanmış olan diğer Catch bloklarla ilişkisi nedeniyle bir Catch bloğuna hiçbir zaman ulaşılamayınca oluşturulur. Yeni projeler için varsayılan ayar açıktır.

Kimlik: 42029, 42031