Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Kompilátor jazyka Visual Basic obsahuje sadu upozornění na kód, který může způsobit chyby za běhu. Tyto informace můžete použít k psaní čistějších, rychlejších a lepších kódů s menším počtem chyb. Kompilátor například vygeneruje upozornění, když se uživatel pokusí vyvolat člena nepřiřazené proměnné objektu, vrátí se z funkce bez nastavení návratové hodnoty nebo spustí Try blok s chybami v logice za účelem zachycení výjimek.
Kompilátor někdy poskytuje za uživatele další logiku, aby se uživatel mohl soustředit na daný úkol, a ne na očekávání možných chyb. V předchozích verzích jazyka Visual Basic byla použita možnost Strict k omezení další logiky, kterou poskytuje kompilátor jazyka Visual Basic. Konfigurace upozornění umožňuje omezit tuto logiku podrobnějším způsobem na úrovni jednotlivých upozornění.
Možná budete chtít projekt přizpůsobit a vypnout některá upozornění, která nejsou pro vaši aplikaci relevantní, a zároveň změnit další upozornění na chyby. Tato stránka vysvětluje, jak zapnout a vypnout jednotlivá upozornění.
Vypnutí a zapnutí upozornění
Existuje několik různých způsobů konfigurace upozornění: můžete je nakonfigurovat pomocí Návrháře projektu, můžete použít možnosti kompilátoru /warnaserror a /nowarn , nebo můžete upravit soubor projektu (vbproj soubor) a použít NoWarn vlastnost MSBuild. Chcete-li použít vlastnost MSBuild, vizte Potlačení konkrétních upozornění pro celý projekt jazyka Visual Basic.
Prostředí Návrháře projektů se liší v závislosti na tom, jestli pracujete s projektem rozhraní .NET Framework nebo projektem .NET Core (nebo .NET 5 nebo novějším).
V projektech .NET Core (nebo .NET 5 a novějších) obsahuje oddíl Kompilacenávrháře projektu nastavení s názvem Závažnost upozornění , které můžete použít k zakázání všech upozornění, zvýšení úrovně všech upozornění na chyby nebo můžete zvolit, že chcete řídit každou kategorii upozornění samostatně (výchozí nastavení). Nastavení kategorií upozornění se zobrazí ve stejné oblasti návrháře projektu.
V projektech rozhraní .NET Framework na kartě Kompilacenávrháře projektu zaškrtněte políčko Zakázat všechna upozornění , chcete-li zakázat všechna upozornění; vyberte možnost Považovat všechna upozornění za chyby , aby se všechna upozornění zobrazovala jako chyby. Některá jednotlivá upozornění v zobrazené tabulce se mohou podle potřeby přepnout na chybu nebo upozornění.
Karta Kompilace na stránce Návrhář projektu umožňuje zapnout a vypnout upozornění. Chcete-li zakázat všechna upozornění, zaškrtněte políčko Zakázat všechna upozornění; vyberte možnost Považovat všechna upozornění za chyby , aby se všechna upozornění zobrazovala jako chyby. Některá jednotlivá upozornění lze v zobrazené tabulce přepnout na chybu nebo upozornění dle potřeby.
Je-li Option Strict nastavena na vypnuto, upozornění související s Option Strict nelze považovat za nezávislá na sobě. Pokud je možnost Strict nastavena na Zapnuto, související upozornění se považují za chyby bez ohledu na jejich stav. Pokud je Option Strict nastavena na Custom zadáním /optionstrict:custom v kompilátoru příkazového řádku, lze upozornění na Option Strict zapnout nebo vypnout nezávisle.
Možnost příkazového řádku /warnaserror kompilátoru lze také použít k určení, zda jsou upozornění považována za chyby. K této možnosti můžete přidat čárkami oddělený seznam a určit, která upozornění se mají považovat za chyby nebo upozornění pomocí + nebo -. Následující tabulka obsahuje podrobnosti o možných možnostech.
| Možnost příkazového řádku | Specifikuje |
|---|---|
/warnaserror+ nebo /warnaserror |
Považovat všechna upozornění za chyby |
/warnsaserror- |
Nezacházejte s upozorněními jako s chybami. Toto je výchozí nastavení. |
/warnaserror+:<warning list
>
|
Zacházejte s konkrétními upozorněními jako s chybami, které jsou uvedeny podle jejich ID čísla chyby v seznamu odděleném čárkami. |
/warnaserror-:<warning list> |
Nezacházejte s konkrétními upozorněními jako s chybami uvedenými podle čísla ID chyby v seznamu oddělených čárkami. |
/nowarn |
Neohlašujte upozornění. |
/nowarn:<warning list> |
Neoznamujte upozornění uvedená podle ID čísla chyby v seznamu odděleném čárkami. |
Seznam upozornění obsahuje čísla ID chyb upozornění, která by se měla považovat za chyby, které lze použít s možnostmi příkazového řádku k zapnutí nebo vypnutí konkrétních upozornění. Pokud seznam upozornění obsahuje neplatné číslo, zobrazí se chyba.
Examples
Tato tabulka příkladů argumentů příkazového řádku popisuje, co každý argument dělá.
| Argument | Description |
|---|---|
vbc /warnaserror |
Určuje, že se všechna upozornění mají považovat za chyby. |
vbc /warnaserror:42024 |
Určuje, že upozornění 42024 by mělo být považováno za chybu. |
vbc /warnaserror:42024,42025 |
Určuje, že upozornění 42024 a 42025 by se měla považovat za chyby. |
vbc /nowarn |
Určuje, že se žádná upozornění nemají hlásit. |
vbc /nowarn:42024 |
Určuje, že upozornění 42024 by nemělo být hlášeno. |
vbc /nowarn:42024,42025 |
Určuje, že upozornění 42024 a 42025 by neměla být hlášena. |
Typy upozornění
Následuje seznam upozornění, která můžete chtít považovat za chyby.
Upozornění na implicitní převod
Generuje se pro instance implicitního převodu. Nezahrnují implicitní převody z vnitřního číselného typu na řetězec při použití operátoru & . Výchozí nastavení pro nové projekty je vypnuté.
ID: 42016
Upozornění na vyvolání metody s pozdní vazbou a rozlišení přetížení
Vygenerováno pro instance pozdní vazby. Výchozí nastavení pro nové projekty je vypnuté.
ID: 42017
Operandy typu "Object" na upozornění
Generuje se, když dojde k operandům typu Object , které by vytvořily chybu s parametrem Strict On. Výchozí nastavení pro nové projekty je zapnuté.
ID: 42018 a 42019
Deklarace vyžadují klauzuli 'As', jinak vznikají varování.
Vygenerováno, když by deklarace proměnné, funkce nebo vlastnosti bez As klauzule způsobila chybu při Option Strict On. Proměnné, které nemají přiřazený typ, se předpokládají jako typ Object. Výchozí nastavení pro nové projekty je zapnuté.
ID: 42020 (deklarace proměnné), 42021 (deklarace funkce) a 42022 (deklarace vlastnosti).
Upozornění na možnou výjimku vztahující se k nulovému odkazu
Vygenerováno, když se proměnná použije dříve, než byla přiřazena hodnota. Výchozí nastavení pro nové projekty je zapnuté.
ID: 42104, 42030
Upozornění na nepoužívané místní proměnné
Generováno, když je místní proměnná deklarována, ale nikdy se na ni neodkazuje. Ve výchozím nastavení je zapnuto.
ID: 42024
Upozornění: Přístup ke sdílenému členu prostřednictvím proměnné instance
Generování nastane při přístupu ke sdílenému členu přes instanci, což může mít vedlejší účinky, nebo když přístup k takovému členu přes proměnnou instance není na pravé straně výrazu nebo je předávaný jako parametr. Výchozí nastavení pro nové projekty je zapnuté.
ID: 42025
Upozornění rekurzivního operátoru nebo přístupu k vlastnostem
Generuje se, když tělo rutiny používá stejný operátor nebo vlastnost, ve které je definován. Výchozí nastavení pro nové projekty je zapnuté.
ID: 42004 (operátor), 42026 (vlastnost)
Funkce nebo operátor bez upozornění na návratové hodnoty
Generuje se, když funkce nebo operátor nemá zadanou návratovou hodnotu. To zahrnuje vynechání Set implicitní místní proměnné se stejným názvem jako funkce. Výchozí nastavení pro nové projekty je zapnuté.
ID: 42105 (funkce), 42016 (operátor)
Modifikátor přetížení použitý v upozornění modulu
Vygenerováno při použití Overloads v Module. Výchozí nastavení pro nové projekty je zapnuté.
ID: 42028
Duplicitní nebo překrývající se bloky catch – upozornění
Generuje se, když Catch blok není nikdy dosažen vzhledem k jejich definovanému vztahu k ostatním Catch blokům. Výchozí nastavení pro nové projekty je zapnuté.
ID: 42029, 42031