Erros/Avisos

Indique as suas preferências para as definições de Erros/Avisos na página de preferências Abre a
página de preferências Erros/Avisos Java > Compilador > Erros/Avisos .

Estilo de código

Opção

Descrição

Predefinição

Acesso não estático a um membro estático

Quando activado, o compilador emite um erro ou um aviso sempre que um método ou campo estático é acedido com um receptor de expressões. Uma referência a um membro estático deverá ser qualificada com um nome de tipo.

Aviso

Acesso indirecto a um membro estático

Quando estiver activado, o compilador vai emitir um erro ou um aviso sempre que um campo ou método estáticos forem acedidos indirectamente. Um campo estático de uma interface deverá ser qualificado com o nome do tipo declarante.

Ignorar

Acesso não qualificado ao campo da instância

Quando estiver activado, o compilador vai emitir um erro ou um aviso sempre que detectar um acesso de campo que não seja qualificado (por exemplo, não tem 'this').

Ignorar

Bloco vazio não documentado

Quando estiver activado, o compilador vai emitir um erro ou um aviso sempre que detectar uma instrução de bloco vazio sem um comentário explicativo.

Ignorar

Aceder a um membro não acessível de um tipo delimitador

Quando estiver activado, o compilador vai emitir um erro ou um aviso sempre que emular acesso a um membro não acessível de um tipo delimitador. Este tipo de acessos pode ter implicações no rendimento.

Ignorar

Método com nome de construtor

Dar a um método o nome do construtor é normalmente considerado uma programação de estilo pobre. Ao activar esta opção, o compilador vai sinalizar esta situação como um erro ou um aviso.

Aviso

Atribuição de parâmetros

Atribuir um valor a um parâmetro é geralmente considerado programação de estilo pobre. Ao activar esta opção, o compilador vai sinalizar esta situação como um erro ou um aviso.

Ignorar

Cadeias não exteriorizadas

Quando activado, o compilador emite um erro ou aviso para Literais de cadeia não exteriorizadas (isto é, não codificados com //$NON-NLS-<n>$) ou para Identificadores de cadeias não exteriorizadas que não pertençam a uma Cadeia.

Ignorar

Potenciais problemas de programação

Classe serializável sem serialVersionUID

Quando estiver activado, o compilador vai emitir um erro ou um aviso sempre que um tipo a implementar 'java.io.Serializable' não contiver um campo serialVersionUID.

Aviso

A atribuição não tem qualquer efeito (por exemplo, 'x = x')

Quando estiver activado, o compilador vai emitir um erro ou um aviso sempre que uma atribuição não tiver efeito (por exemplo, 'x = x').

Aviso

Eventual atribuição acidental de boolean (por exemplo, 'if (a = b)')

Quando activado, o compilador emite um erro ou um aviso sempre que encontra uma eventual atribuição acidental de boolean (ex.: 'if (a = b)').

Ignorar

'finally' não terminou normalmente

Quando estiver activado, o compilador vai emitir um erro ou um aviso sempre que uma instrução 'finally' não terminar normalmente (por exemplo, se contiver uma instrução de retorno).

Aviso

Instrução vazia

Quando estiver activado, o compilador vai emitir um erro ou um aviso sempre que detectar uma instrução vazia (por exemplo, um ponto e vírgula supérfluo).

Ignorar

Utilizar uma matriz char na concatenação da cadeia

Quando estiver activado, o compilador vai emitir um erro ou um aviso sempre que uma expressão char[] for utilizada com concatenações de Cadeia,

"hello" + new char[]{'w','o','r','l','d'}

Aviso

Blocos catch ocultos

Localmente para uma instrução try, alguns blocos catch podem ocultar outros, por exemplo

try { throw new java.io.CharConversionException();
} catch (java.io.CharConversionException e) {
} catch (java.io.IOException e) {}.

Quando activar esta opção, o compilador vai emitir um erro ou um aviso para blocos catch ocultos correspondentes a excepções seleccionadas.

Aviso

Correspondência de tipo inexacta para argumentos vararg

Quando estiver activado, o compilador vai emitir um erro ou um aviso sempre que detectar uma correspondência de tipo inexacta para argumentos vararg.

Aviso

Encaixar e desencaixar conversões

Quando estiver activado, o compilador vai emitir um erro ou um aviso sempre que detectar o encaixe ou desencaixe de uma conversão. O auto-encaixe pode afectar negativamente o rendimento.

Ignorar

Constante de tipo de enumeração não abrangida em 'switch'

Quando estiver activado, o compilador vai emitir um erro ou um aviso sempre que detectar uma instrução switch que não contenha instruções case para cada constante da enumeração da enumeração referenciada.

Ignorar

processamento de caso de 'switch'

Quando activado, o compilador emite um erro ou um aviso sempre que encontra um caso de switch sem uma declaração 'break'. Não são permitidos casos de switch vazios.

Ignorar

Referência nula

Quando activado, o compilador emite um erro ou um aviso sempre que encontra um caso em que uma variável local que pode ser nula não é referenciada. Tenha em consideração que a análise é relativamente conservadora, considerando apenas os casos em que existe algo duvidoso.

Ignorar

Sombrear nomes e conflitos

A declaração do campo oculta outro campo ou variável

Quando activar esta opção, o compilador vai emitir um erro ou aviso se uma declaração de campo ocultar outro campo herdado.

Ignorar

Declaração de variável local oculta outro campo ou variável

Quando activar esta opção, o compilador vai emitir um erro ou aviso se uma declaração de variável local ocultar outro campo ou variável.

Ignorar

Incluir parâmetros de métodos de construtor ou setter

Quando activar esta opção, o compilador adicionalmente vai emitir um erro ou um aviso se um construtor ou parâmetro do método setter ocultar outro campo ou variável.

desactivado

Parâmetro de tipo oculta outro tipo

Quando activar esta opção, o compilador vai emitir um erro ou um aviso se, por exemplo, um parâmetro de tipo de uma classe interna ocultar um tipo externo.

Aviso

Métodos sobrepostos mas não visíveis no pacote

Um método predefinido do pacote não é visível num pacote diferente e por isso não pode ser sobreposto. Ao activar esta opção, o compilador vai sinalizar esta situação como um erro ou um aviso.

Aviso

Conflitos do método de interface com o método 'Object' protegido

Quando estiver activado, o compilador vai emitir um erro ou um aviso sempre que uma interface definir um método incompatível com um método Objecto não herdado. Até que seja resolvido este conflito, uma interface deste tipo não pode ser implementada, por exemplo,

interface I {
   int clone();
}

Aviso

API obsoleta e restrita

API Desactualizada

Quando activado, o compilador vai assinalar o uso de API absoleta com um erro ou um aviso.

Aviso

Sinalizar a utilização de API obsoleta dentro de código obsoleto

Quando estiver activado, o compilador vai sinalizar a utilização da API desactualizada dentro do código obsoleto. A gravidade do problema é controlada com a opção "API Desactualizada".

desactivado

Sinalizar método de substituição ou implementação obsoleto

Quando estiver activado, o compilador vai sinalizar a sobreposição ou implementação de um método obsoleto. A gravidade do problema é controlada com a opção "API Desactualizada".

desactivado

Referência proibida (regras de acesso)

Quando estiver activado, o compilador vai sinalizar uma referência proibida especificada nas regras de acesso.

Erro

Referência desaconselhada (regras de acesso)

Quando estiver desactivado, o compilador vai sinalizar uma referência desaconselhada especificada nas regras de acesso.

Aviso

Código desnecessário

Variável local nunca é lida

Quando activado, o compilador emite um erro ou um aviso sempre que uma variável local é declarada sem ser utilizada no seu âmbito.

Aviso

Parâmetro nunca é lido

Quando activado, o compilador emite um erro ou um aviso sempre que um parâmetro é declarado sem ser utilizado no seu âmbito.

Ignorar

Verificar métodos de substituição e implementação

Quando activado, o compilador emite adicionalmente um erro ou um aviso sempre que um parâmetro é declarado, sem ser utilizado no seu âmbito, em métodos de substituição ou implementação.

desactivado

Importação não utilizada

Quando estiver activado, o compilador vai emitir um erro ou um aviso para referência de importação não utilizada.

Aviso

Membros locais ou privados não utilizados

Quando estiver activado, o compilador vai emitir um erro ou um aviso sempre que um membro local ou privado seja declarado mas nunca utilizado na mesma unidade.

Aviso

Instrução else desnecessária

Quando estiver activado, o compilador vai emitir um erro ou um aviso sempre que detectar uma instrução else desnecessária (por exemplo, if (condition) return; else doSomething();).

Ignorar

Difusão ou operação 'instanceof' desnecessárias

Quando estiver activado, o compilador vai emitir um erro ou um aviso sempre que detectar uma difusão ou operação 'instanceof' desnecessárias(por exemplo, if (object instanceof Object) return;).

Ignorar

Declaração desnecessária de excepção verificada lançada

Quando estiver activado, o compilador vai emitir um erro ou um aviso sempre que detectar uma declaração desnecessária de uma excepção lançada.

Ignorar

Verificar métodos de substituição e implementação

Quando estiver activado, o compilador adicionalmente vai emitir um erro ou um aviso sempre que detectar uma declaração desnecessária de uma excepção lançada, num método de sobreposição ou de implementação.

desactivado

Etiqueta de interrupção/continuação não utilizada

Quando activado, o compilador emite um erro ou um aviso sempre que encontra uma etiqueta 'break' ou 'continue' não utilizada.

Aviso

Tipos genéricos

Operação de tipo genérico não seleccionada

Quando estiver activado, o compilador vai emitir um erro ou um aviso sempre que detectar uma operação de tipo genérico não seleccionada.

Aviso

Utilização de um tipo em bruto

Quando activado, o compilador emite um erro ou aviso sempre que encontra uma utilização de um tipo em bruto.

Ignorar

Parâmetro de tipo genérico declarado com uma associação de tipo final

Quando estiver activado, o compilador vai emitir um erro ou um aviso sempre que detectar uma associação de tipo que envolva um tipo final.

Aviso

Anotações

Anotação '@Override' em falta

Quando estiver activado, o compilador vai emitir um erro ou um aviso sempre que detectar um método a sobrepor outro método implementado e em que falta a anotação '@Override'.

Ignorar

Anotação '@Deprecated' em falta

Quando estiver activado, o compilador vai emitir um erro ou um aviso sempre que detectar um tipo obsoleto sem a anotação adicional '@Deprecated'.

Ignorar

Anotação é utilizada como super interface

Quando estiver activado, o compilador vai emitir um erro ou um aviso sempre que detectar um tipo a implementar uma anotação. Apesar de ser possível, esta acção não é considerada como positiva.

Aviso

Sinais de aviso não processados em '@SuppressWarnings'

Quando estiver activado, o compilador vai emitir um erro ou um aviso sempre que detectar um sinal de aviso não processado numa anotação '@SuppressWarnings'.

Aviso

Activar anotações '@SuppressWarnings'

Quando estiver activado, o compilador vai processar anotações'@SuppressWarnings'.

On

Conceitos
relacionados

Vista Problemas
Ajuste Rápido
Construtor Java