Share via


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ı Project Tasarım Aracı kullanarak yapılandırabilir veya /warnaserror ve /nowarn derleyici seçeneklerini kullanabilirsiniz.

Project Tasarım Aracı 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ü Objectolduğ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 Moduleiç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