Konfigurace upozornění v jazyce Visual Basic
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í
Existují dva různé způsoby konfigurace upozornění: můžete je nakonfigurovat pomocí Návrháře projektu nebo můžete použít možnosti kompilátoru /warnaserror a /nowarn .
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í. Chcete-li zacházet se všemi upozorněními jako s chybami, zaškrtněte políčko Považovat všechna upozornění za chyby. Některá jednotlivá upozornění se dají přepnout jako chyba nebo upozornění podle potřeby v zobrazené tabulce.
Je-li možnost Strict nastavena na vypnuto, možnost Striktní upozornění nelze považovat nezávisle na sobě navzájem. Pokud je možnost Strict nastavena na Zapnuto, související upozornění se považují za chyby bez ohledu na jejich stav. Pokud je možnost Strict nastavena na vlastní zadáním /optionstrict:custom
v kompilátoru příkazového řádku, lze upozornění Na striktní možnosti 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 | Určuje |
---|---|
/warnaserror+ |
Považovat všechna upozornění za chyby |
/warnsaserror - |
Nezacházejte s upozorněními jako s chybami. Tato možnost je výchozí. |
/warnaserror+:<warning list > |
Zacházejte s konkrétními upozorněními jako s chybami, které jsou uvedené podle čísla ID chyby v seznamu s oddělovači r. |
/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 zadaná upozornění uvedená podle čísla ID chyby v seznamu oddělených čá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.
Příklady
Tato tabulka příkladů argumentů příkazového řádku popisuje, co každý argument dělá.
Argument | Popis |
---|---|
vbc /warnaserror |
Určuje, že všechna upozornění mají být považována 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 seznamupozorněních
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" 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í upozornění klauzule As.
Vygenerováno v případě, že proměnná, funkce nebo deklarace vlastnosti, u které As
chybí klauzule, by se vytvořila chyba s parametrem 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).
Možná upozornění na výjimku s nulovým odkazem
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é
Vygenerováno, když je místní proměnná deklarována, ale nikdy se neodhlásí. Výchozí hodnota je zapnutá.
ID: 42024
Přístup sdíleného člena prostřednictvím upozornění proměnné instance
Vygenerováno při přístupu ke sdílenému členu prostřednictvím instance může mít vedlejší účinky nebo při přístupu ke sdílenému členu prostřednictvím proměnné instance není pravá strana výrazu nebo se předává 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 Overloads
použití 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
se blok nikdy nedosáhl kvůli jeho vztahu k jiným Catch
blokům, které byly definovány. Výchozí nastavení pro nové projekty je zapnuté.
ID: 42029, 42031