Compartilhar via


Configurando Avisos (Warnings) no Visual Basic

O compilador do Visual Basic inclui um conjunto de avisos sobre códigos que podem causar erros em tempo de execução.Você pode usar essas informações para escrever um código mais limpo, rápido, melhor e com menos erros.Por exemplo, o compilador gerará um aviso quando o usuário tentar invocar um membro de uma variável de objeto não atribuída, retornar de uma função sem definir o valor de retorno, ou executar um bloco Try com erros de lógica para detectar exceções.

Às vezes o compilador fornece lógica extra em favor do usuário para que o usuário possa se concentrar na tarefa à mão, em vez de se concentrar em antecipar possíveis erros.Nas versões anteriores do Visual Basic,Option Strict foi usado para limitar a lógica adicional que fornece o compilador do Visual Basic.A configuração de avisos permite-lhe limitar essa lógica de uma maneira mais granular, no nível de avisos individuais.

Você pode desejar personalizar seu projeto e desativar alguns avisos não relevantes para o aplicativo e ao mesmo tempo tratar outros avisos como erros.Esta página explica como ativar e desativar avisos individuais.

Desativando e Ativando Avisos

Há duas maneiras diferentes para configurar avisos: Você pode configurá-los usando o Designer de projeto, ou você pode usar o /warnaserror e /nowarn Opções do compilador.

A guia Compile da página Project Designer permite que você ative e desative avisos.Marque a caixa de seleção Disable All Warnings para desativar todos os avisos; maruqe Treat All Warnings as Errors para tratar todos os avisos como erros.Alguns avisos individuais podem ser alternados como erro ou aviso conforme desejado na tabela exibida.

Quando Option Strict está definida como Off, avisos relacionados a Option Strict não podem ser tratados independentemente uns dos outros.Quando Option Strict está definida como On, os avisos associados são tratados como erros, não importa quais são seus status.Quando Option Strict é definida como Custom especificando /optionstrict:custom no compilador linha de comando, avisos de Option Strict podem ser alternados entre ativos ou desativos de forma independente.

A opção de linha de comando /warnaserror do compilador também pode ser usada para especificar se avisos são tratados como erros.Você pode adicionar uma lista delimitada por vírgulas a essa opção para especificar quais avisos devem ser tratado como erros ou avisos, usando + ou -.A tabela a seguir detalha as opções possíveis.

Opção de linha de comando

Especifica

/warnaserror+

Trata todos os avisos como erros

/warnsaserror-

Não trata avisos como erros.Este é o padrão.

/warnaserror+:<warning list>

Trata avisos específicos como erros, listados por seus números de identificação de erro em uma lista delimitada por vírgula.

/warnaserror-:<warning list>

Não trata avisos específicos como erros, listados por seus números de identificação de erro, em uma lista delimitada por vírgulas.

/nowarn

Não relata avisos.

/nowarn:<warning list>

Não relata avisos especificados, listados por seus números de identificação de erro, em uma lista delimitada por vírgulas.

A lista de avisos contém os números de identificação de erro dos avisos que devem ser tratados como erros, que podem ser usados com as opções de linha de comando para ativar ou desativar avisos específicos.Se a lista de avisos contiver um número inválido, um erro é relatado.

Exemplos

Esta tabela de exemplos de argumentos de linha de comando descreve o que cada argumento faz.

Argumento

Descrição

vbc /warnaserror

Especifica que todos os avisos devem ser tratado como erros.

vbc /warnaserror:42024

Especifica que o aviso 42024 deve ser tratado como um erro.

vbc /warnaserror:42024,42025

Especifica que os avisos 42024 e 42025 devem ser tratado como erros.

vbc /nowarn

Especifica que nenhum aviso deve ser relatado.

vbc /nowarn:42024

Especifica que o aviso 42024 não deve ser relatado.

vbc /nowarn:42024,42025

Especifica que os avisos 42024 e 42025 não devem ser relatados.

Tipos de avisos

A seguir, uma lista de avisos que você pode desejar tratar como erros.

Implicit Conversion Warning

Gerado para instâncias de conversão implícita.Eles não incluem conversões implícitas de um tipo numérico intrínseco para uma sequência de caracteres usando o operador &.O padrão para novos projetos é off.

ID: 42016

Late bound Method Invocation and Overload Resolution Warning

Gerado para instâncias de ligação atrasada.O padrão para novos projetos é off.

ID: 42017

Operands of Type Object Warnings

Gerado quando operandos do tipo Object ocorrerem que criariam um erro com Option Strict On.O padrão para novos projetos é on.

ID: 42018 e 42019

Declarations Require 'As' Clause Warnings

Gerado quando uma declaração de variável, função ou propriedade sem uma cláusula As pode ter criado um erro com Option Strict On.Variáveis que não têm um tipo atribuído a elas são assumidas como sendo do tipo Object.O padrão para novos projetos é on.

ID: 42020 (declaração de variável), 42021 (declaração de função) e 42022 (declaração de propriedade).

Possible Null Reference Exception Warnings

Gerado quando uma variável é usada antes de um valor ser atribuído a ela.O padrão para novos projetos é on.

ID: 42104, 42030

Unused Local Variable Warning

Gerado quando uma variável local é declarada mas nunca é chamada.O padrão é on.

ID: 42024

Access of Shared member through Instance Variable Warning

Gerado quando o acesso a um membro compartilhado através uma instância pode ter efeitos colaterais, ou quando o acesso a um membro compartilhado através uma variável de instância não corresponde ao lado direito de uma expressão ou está sendo passado no como um parâmetro.O padrão para novos projetos é on.

ID: 42025

Recursive Operator or Property Access Warnings

Gerado quando o corpo de uma rotina utiliza o mesmo operador ou propriedade dentro da qual ela está definida.O padrão para novos projetos é on.

ID: 42004 (operador), 42026 (propriedade)

Function or Operator without Return Value Warning

Gerado quando a função ou operador não tem um valor de retorno especificado.Isso inclui a omissão de um Set para a variável local implícita com o mesmo nome da função.O padrão para novos projetos é on.

ID: 42105 (função), 42016 (operador)

Overloads Modifier Used in a Module Warning

Gerado quando Overloads é usado em um Module.O padrão para novos projetos é on.

ID: 42028

Duplicate or Overlapping Catch Blocks Warnings

Gerado quando um bloco Catch nunca é alcançado devido à sua relação com outros blocos Catch que foram definidos.O padrão para novos projetos é on.

ID: 42029, 42031

Consulte também

Tarefas

Como: Ativar ou desativar avisos do compilador

Conceitos

Tipos de erros

Referência

Caixa de diálogo Assistente de exceção

/nenhumaviso

/warnaserror (Visual Basic)

Avisos do Compilador That Are Off by Padrão

Outros recursos

Tarefas de Tratamento de Exceção