Condividi tramite


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

Gli avvisi possono essere configurati in due modi differenti: mediante Progettazione progetti oppure mediante le opzioni del compilatore /warnaserror e /nowarn.

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.

3y20cc1z.collapse_all(it-it,VS.110).gifAvvisi 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

3y20cc1z.collapse_all(it-it,VS.110).gifAvvisi 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

3y20cc1z.collapse_all(it-it,VS.110).gifAvvisi 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

3y20cc1z.collapse_all(it-it,VS.110).gifAvvisi 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à).

3y20cc1z.collapse_all(it-it,VS.110).gifAvvisi 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

3y20cc1z.collapse_all(it-it,VS.110).gifAvvisi 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

3y20cc1z.collapse_all(it-it,VS.110).gifAvvisi 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

3y20cc1z.collapse_all(it-it,VS.110).gifAvvisi 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 (operatore), 42026 (proprietà)

3y20cc1z.collapse_all(it-it,VS.110).gifAvvisi 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)

3y20cc1z.collapse_all(it-it,VS.110).gifAvvisi 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

3y20cc1z.collapse_all(it-it,VS.110).gifAvvisi 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

Riferimenti

Finestra di dialogo Informazioni sulle eccezioni

Istruzione Try...Catch...Finally (Visual Basic)

/nowarn

/warnaserror (Visual Basic)

Pagina Compilazione, Progettazione progetti (Visual Basic)

Avvisi del compilatore disinseriti per impostazione predefinita

Concetti

Tipi di errore (Visual Basic)