Share via


Configurazione degli avvisi in Visual Basic

Il compilatore di Visual Basic comprende una serie di avvisi sul codice che potrebbero generare errori di runtime. Le informazioni possono essere utilizzate per scrivere un codice in modo più pulito, veloce e ottimale con un numero minore di bug. Ad esempio, il compilatore genererà un avviso quando l'utente tenta di chiamare un membro di una variabile di un oggetto non assegnato, ritornare da una funzione senza aver impostato il valore di ritorno, oppure eseguire un blocco Try con errori nella logica per il rilevamento delle eccezioni.

A volte il compilatore fornisce una logica aggiuntiva per conto dell'utente in modo che quest'ultimo possa concentrarsi sull'attività in corso anziché sulla necessità di prevedere eventuali errori. Nelle precedenti versioni di Visual Basic, veniva utilizzato Option Strict per limitare la logica aggiuntiva fornita dal compilatore di Visual Basic. La configurazione degli avvisi consente di limitare la logica in modo più efficace, a livello del singolo avviso.

È possibile personalizzare il progetto e disattivare alcuni avvisi non pertinenti all'applicazione e trasformare altri avvisi in errori. In questo argomento viene illustrato come attivare e disattivare gli avvisi.

Attivazione e disattivazione degli avvisi

Esistono due modi per configurare gli avvisi: è possibile configurarli tramite Progettazione progetti oppure è possibile utilizzare le opzioni del compilatore /nowarn e /warnaserror.

La scheda Compila della pagina Progettazione progetti consente di attivare e disattivare gli avvisi. Selezionare la casella di controllo Disabilita tutti gli avvisi per disabilitare tutti gli avvisi. Selezionare Considera tutti gli avvisi come errori per fare in modo che tutti gli avvisi vengano considerati come errori. Alcuni avvisi possono essere considerati come errore o avviso nella tabella visualizzata.

Quando Option Strict è impostato su Off, gli avvisi relativi a Option Strict non possono essere considerati indipendenti uno dall'altro. Quando Option Strict è impostato su On, gli avvisi associati sono considerati come errori, indipendentemente dallo stato. Quando Option Strict è impostato su Custom, se si specifica /optionstrict:custom nel compilatore basato su riga di comando, gli avvisi Option Strict possono essere attivati o disattivati in modo indipendente.

L'opzione della riga di comando /warnaserror del compilatore può essere utilizzata anche per specificare se gli avvisi sono considerati come errori. All'opzione è possibile aggiungere un elenco delimitato da virgole per specificare quale avvisi considerare come errori o avvisi utilizzando + oppure -. Nella tabella riportata di seguito sono illustrate in modo dettagliato le possibili opzioni.

Opzione della riga di comando

Specifica

/warnaserror+

Considera tutti gli avvisi come errori

/warnsaserror-

Non considerare gli avvisi come errori. Questa è l'impostazione predefinita.

/warnaserror+:<warning list>

Considerare gli avvisi specifici come errori, elencati in base al numero ID di errore in un elenco delimitato da virgole.

/warnaserror-:<warning list>

Non considerare gli avvisi specifici come errori, elencati in base al numero ID di errore in un elenco delimitato da virgole.

/nowarn

Non segnalare gli avvisi.

/nowarn:<warning list>

Non segnalare gli avvisi specificati, elencati in base al numero ID di errore in un elenco delimitato da virgole.

Nell'elenco degli avvisi sono riportati i numeri ID di errore degli avvisi che dovrebbero essere considerati come errori, che possono essere utilizzati con le opzioni della riga di comando per attivare o disattivare gli avvisi specifici. Se l'elenco degli avvisi contiene un numero non valido, viene generato un errore.

Esempi

Nella tabella di esempi degli argomenti della riga di comando riportata di seguito sono illustrate le attività di ciascun argomento.

Argomento

Descrizione

vbc /warnaserror

Specifica di considerare tutti gli avvisi come errori.

vbc /warnaserror:42024

Specifica di considerare l'avviso 42024 come errore.

vbc /warnaserror:42024,42025

Specifica di considerare gli avvisi 42024 e 42025 come errori.

vbc /nowarn

Specifica di non segnalare alcun avviso.

vbc /nowarn:42024

Specifica di non segnalare l'avviso 42024.

vbc /nowarn:42024,42025

Specifica di non segnalare gli avvisi 42024 e 42025.

Tipi di avvisi

Di seguito viene riportato un elenco di avvisi che possono essere considerati come errori.

Avvisi di conversione implicita

Generati per le istanze di conversione implicita. Non comprendono conversioni implicite da un tipo numerico intrinseco in una stringa quando si utilizza l'operatore &. Nei nuovi progetti, tali avvisi sono disattivati per impostazione predefinita.

ID: 42016

Avvisi dell'invocazione del metodo di associazione anticipata e risoluzione dell'overload

Generati per le istanze di associazione anticipata. Nei nuovi progetti, tali avvisi sono disattivati per impostazione predefinita.

ID: 42017

Avvisi degli operandi del tipo oggetto

Generati quando si verificano gli operandi del tipo Object che potrebbero generare un errore con Option Strict On. Nei nuovi progetti, tali avvisi sono attivati per impostazione predefinita.

ID: 42018 e 42019

Avvisi delle dichiarazioni che richiedono la clausole "As"

Generati quando una dichiarazione della variabile, funzione o proprietà non provvista di una clausola As avrebbe generato un errore con Option Strict On. Si presuppone che le variabili a cui non è assegnato un tipo siano di tipo Object. Nei nuovi progetti, tali avvisi sono attivati per impostazione predefinita.

ID: 42020 (dichiarazione di variabile), 42021 (dichiarazione di funzione) e 42022 (dichiarazione di proprietà).

Avvisi dell'eventuale eccezione dovuta a un riferimento a un valore nullo

Generati quando viene utilizzata una variabile prima che sia assegnato un valore. Nei nuovi progetti, tali avvisi sono attivati per impostazione predefinita.

ID: 42104, 42030

Avvisi delle variabili locali non utilizzate

Generati quando una variabile locale viene dichiarata ma a cui non viene mai fatto riferimento. Tali avvisi sono attivati per impostazione predefinita.

ID: 42024

Avvisi dell'accesso al membro condiviso tramite le variabili di istanza

Generati quando l'accesso a un membro condiviso tramite un'istanza potrebbe avere effetti collaterali o quando l'accesso a un membro condiviso tramite una variabile di istanza non è la parte destra di un'espressione o viene passato come un parametro. Nei nuovi progetti, tali avvisi sono attivati per impostazione predefinita.

ID: 42025

Avvisi dell'operatore ricorsivo o dell'accesso alle proprietà

Generati quando il corpo di una routine utilizza lo stesso operatore o proprietà in cui è definito. Nei nuovi progetti, tali avvisi sono attivati per impostazione predefinita.

ID: 42004 ("? "), 42026 (proprietà)

Avvisi della funzione o dell'operatore senza valore di ritorno

Generati quando alla funzione o all'operatore non è associato alcun valore di ritorno specificato. Ad esempio, l'omissione di un Set sulla variabile locale implicita con lo stesso nome della funzione. Nei nuovi progetti, tali avvisi sono attivati per impostazione predefinita.

ID: 42105 (funzione), 42016 (operatore)

Avvisi del modificatore degli overload utilizzato in un modulo

Generati quando Overloads viene utilizzato in un Module. Nei nuovi progetti, tali avvisi sono attivati per impostazione predefinita.

ID: 42028

Avvisi dei blocchi catch duplicati o sovrapposti

Generati quando un blocco Catch non viene mai raggiunto a causa del rapporto con altri blocchi Catch definiti. Nei nuovi progetti, tali avvisi sono attivati per impostazione predefinita.

ID: 42029, 42031

Vedere anche

Attività

Procedura: abilitare o disabilitare gli avvisi del compilatore (Visual Basic)

Riferimenti

Finestra di dialogo Informazioni sulle eccezioni

/nowarn

/warnaserror (Visual Basic)

Compiler Warnings That Are Off by Default

Concetti

Tipi di errori (Visual Basic)

Altre risorse

Attività di gestione delle eccezioni (Visual Basic)