Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Visual Basic fordító olyan figyelmeztetéseket tartalmaz a kódokkal kapcsolatban, amelyek futásidejű hibákat okozhatnak. Ezekkel az információkkal tisztább, gyorsabb és jobb kódot írhat kevesebb hibával. A fordító például figyelmeztetést fog generálni, amikor a felhasználó megkísérli meghívni egy hozzárendeletlen objektumváltozó egyik tagját, a visszatérési érték megadása nélkül tér vissza egy függvényből, vagy végrehajt egy Try blokkot, amely hibákat tartalmaz a logikában a kivételek elfogásához.
Néha a fordító extra logikát biztosít a felhasználó nevében, hogy a felhasználó a feladatra összpontosíthasson ahelyett, hogy a lehetséges hibákra vár. A Visual Basic korábbi verzióiban az Option Strict beállítást használták a Visual Basic fordító által biztosított további logika korlátozására. A figyelmeztetések konfigurálásával részletesebben korlátozhatja ezt a logikát az egyes figyelmeztetések szintjén.
Előfordulhat, hogy testre szeretné szabni a projektet, és kikapcsolni néhány, az alkalmazásra nem vonatkozó figyelmeztetést, miközben más figyelmeztetéseket hibákká alakít. Ez a lap be- és kikapcsolja az egyes figyelmeztetéseket.
Figyelmeztetések ki- és bekapcsolása
A figyelmeztetések konfigurálásának többféle módja is van: konfigurálhatja őket a Project Designer, használhatja a /warnaserror és /nowarn fordítóbeállításokat, vagy szerkesztheti a projektfájlt (vbproj fájlt), és használhatja a NoWarn MSBuild tulajdonságot. Az MSBuild tulajdonság használatához lásd: Adott figyelmeztetések letiltása egy teljes Visual Basic-projektre.
A Project Designer élménye attól függ, hogy .NET-keretrendszerprojekttel vagy .NET Core-projekttel (vagy .NET 5-ös vagy újabb) projekttel dolgozik.
A .NET Core -projektekben (vagy .NET 5-ös és újabb verziókban) a Project DesignerFordítás szakasza tartalmaz egy Figyelmeztetés súlyosság nevű beállítást, amellyel letilthatja az összes figyelmeztetést, előléptetheti az összes figyelmeztetést a hibákra, vagy választhatja, hogy az egyes figyelmeztetési kategóriákat külön(az alapértelmezett) szabályozza. A figyelmeztetési kategória beállításai a Project Designerugyanazon területén jelennek meg.
A .NET-keretrendszer-projektekben a Project DesignerFordítás lapján jelölje be a Az összes figyelmeztetés letiltása jelölőnégyzetet az összes figyelmeztetés letiltásához; válassza a Minden figyelmeztetés kezelése hibaként az összes figyelmeztetés hibaként való kezeléséhez. Egyes egyes figyelmeztetések hibaként vagy figyelmeztetésként kapcsolhatók a megjelenített táblázatban kívánt módon.
A Project Designer oldal Fordítás füle lehetővé teszi a figyelmeztetések be- és kikapcsolását. Jelölje be a Minden figyelmeztetés letiltása jelölőnégyzetet az összes figyelmeztetés letiltásához; válassza a Minden figyelmeztetés kezelése hibaként az összes figyelmeztetés hibaként való kezeléséhez. Egyes egyes figyelmeztetések hibaként vagy figyelmeztetésként kapcsolhatók a megjelenített táblázatban kívánt módon.
Ha az Option Strict be van állítva ki, az Option Strict-hoz kapcsolódó figyelmeztetések nem kezelhetők egymástól függetlenül. Ha az Szigorú beállítás be van állítva , a kapcsolódó figyelmeztetések hibaként lesznek kezelve, függetlenül attól, hogy milyen állapotban vannak. Amikor a Option Strict be van állítva Egyéni értékre a /optionstrict:custom parancssori fordítóban való megadásával, az Option Strict figyelmeztetések egymástól függetlenül kapcsolhatók be vagy ki.
A fordító /warnaserror parancssori beállításával azt is megadhatja, hogy a figyelmeztetések hibaként legyenek-e kezelve. Vesszővel tagolt listát is hozzáadhat ehhez a beállításhoz, így megadhatja, hogy mely figyelmeztetéseket kell hibaként vagy figyelmeztetésként kezelni a + vagy a -használatával. Az alábbi táblázat a lehetséges lehetőségeket ismerteti.
| Parancssori lehetőség | Meghatároz |
|---|---|
/warnaserror+ vagy /warnaserror |
Az összes figyelmeztetést hibaként kezelni |
/warnsaserror- |
Ne kezelje a figyelmeztetéseket hibaként. Ez a beállítás az alapértelmezett beállítás. |
/warnaserror+:<warning list
>
|
Az adott figyelmeztetéseket hibákként kezelje, amelyeket a hibaazonosítójuk alapján egy vesszővel tagolt lista r-jében sorolnak fel. |
/warnaserror-:<warning list> |
Ne kezelje az adott figyelmeztetéseket hibaként, mert a hibaazonosítójuk vesszővel tagolt listában szerepel. |
/nowarn |
Ne jelentsen figyelmeztetéseket. |
/nowarn:<warning list> |
Ne jelentsen megadott figyelmeztetéseket, mert a hibaazonosítójuk vesszővel tagolt listában szerepel. |
A figyelmeztető lista tartalmazza a hibákként kezelendő figyelmeztetések hibaazonosítóit, amelyek a parancssori beállításokkal be- és kikapcsolhatók. Ha a figyelmeztető lista érvénytelen számot tartalmaz, hibaüzenet jelenik meg.
Példák
Ez a parancssori argumentumokat szemléltető példatábla az egyes argumentumok működését ismerteti.
| Érv | Leírás |
|---|---|
vbc /warnaserror |
Megadja, hogy minden figyelmeztetést hibaként kell kezelni. |
vbc /warnaserror:42024 |
Megadja, hogy a 42024-as figyelmeztetést hibaként kell kezelni. |
vbc /warnaserror:42024,42025 |
Megadja, hogy a 42024- és a 42025-ös figyelmeztetéseket hibaként kell kezelni. |
vbc /nowarn |
Azt határozza meg, hogy ne jelenjenek meg figyelmeztetések. |
vbc /nowarn:42024 |
Meghatározza, hogy a 42024-es figyelmeztetést nem szabad jelenteni. |
vbc /nowarn:42024,42025 |
Azt határozza meg, hogy a 42024- és a 42025-ös figyelmeztetések ne jelenjenek meg. |
Figyelmeztetések típusai
Az alábbiakban felsoroljuk azokat a figyelmeztetéseket, amelyeket érdemes hibaként kezelni.
Implicit konvertálási figyelmeztetés
Generálva implicit konverziók előfordulásaihoz. Nem tartalmaznak implicit átalakításokat belső numerikus típusból sztringre a & operátor használatakor. Az új projektek alapértelmezés szerint kikapcsolva vannak.
Azonosító: 42016
Késői kötésű metódushívás és túlterhelésfeloldási figyelmeztetés
A késői kötésű példányokhoz jön létre. Az új projektek alapértelmezés szerint kikapcsolva vannak.
Azonosító: 42017
"'Object' típusú operandusokkal kapcsolatos figyelmeztetések"
Akkor jön létre, ha Object típusú operandusok lépnek fel, amely hibát okoz beállításnál. Az új projektek alapértelmezett beállítása be van kapcsolva.
Azonosító: 42018 és 42019
A deklarációkhoz "As" záradékra vonatkozó figyelmeztetések szükségesek
Akkor keletkezett, amikor egy As záradék nélküli változó-, függvény- vagy tulajdonságdeklaráció hibát okozott volna az Option Strict On beállítás esetén. Azok a változók, amelyekhez nincs hozzárendelve típus, feltételezzük, hogy Objecttípusúak. Az új projektek alapértelmezett beállítása be van kapcsolva.
Azonosító: 42020 (változó deklaráció), 42021 (függvénydeklaráció) és 42022 (tulajdonságdeklaráció).
Lehetséges nullhivatkozási kivételekre vonatkozó figyelmeztetések
Akkor jön létre, amikor egy változót használ, mielőtt hozzá lett rendelve egy értékhez. Az új projektek alapértelmezett beállítása be van kapcsolva.
Azonosító: 42104, 42030
Nem használt helyi változó figyelmeztetése
Helyi változó deklarálásakor jön létre, de nem hivatkozik rá. Az alapértelmezett be van kapcsolva.
Azonosító: 42024
Figyelmeztetés: megosztott tag elérése példányváltozón keresztül
A megosztott tag példányon keresztüli elérésekor előfordulhatnak mellékhatások, vagy ha egy megosztott tag példányváltozón keresztüli elérése nem a kifejezés jobb oldala, vagy paraméterként van átadva. Az új projektek alapértelmezett beállítása be van kapcsolva.
Azonosító: 42025
Rekurzív operátor- vagy tulajdonsághozzáférési figyelmeztetések
Akkor jön létre, ha egy rutin törzse ugyanazt az operátort vagy tulajdonságot használja, amelyben definiálva van. Az új projektek alapértelmezett beállítása be van kapcsolva.
Azonosító: 42004 (operátor), 42026 (tulajdonság)
Visszatérési érték nélküli függvény vagy operátor figyelmeztetés
Akkor jön létre, ha a függvény vagy operátor nem rendelkezik megadott visszatérési értékkel. Ebbe beletartozik egy Set kihagyása az implicit helyi változóból, amelynek ugyanaz a neve, mint a függvénynek. Az új projektek alapértelmezett beállítása be van kapcsolva.
Azonosító: 42105 (függvény), 42016 (operátor)
Modulriasztásban használt túlterhelés-módosító
Akkor jön létre, ha Overloads-t használnak egy Module-ben. Az új projektek alapértelmezett beállítása be van kapcsolva.
Azonosító: 42028
Ismétlődő vagy átfedésben lévő fogási blokkokra vonatkozó figyelmeztetések
Akkor jön létre, ha egy Catch blokk soha nem érhető el a definiált más Catch blokkokkal való kapcsolata miatt. Az új projektek alapértelmezett beállítása be van kapcsolva.
Azonosító: 42029, 42031