? Java acrescentou a palavra " assert " para torná-lo mais fácil de detectar e reportar erros em Java 1.4 . Afirmações permitir que o programa para especificar uma condição de espera para ser verdade. Caso a condição falhar , o programa relata um erro que deve ser tratado . Afirmação Sintaxe
A sintaxe para uma afirmação é muito simples:
assert CODE
O código deve avaliar como verdadeiro ou falso . Se for verdade, então o programa continua como de costume. Se for falso , então um AssertionError é lançada. Desta forma, a palavra-chave afirmação permite que um programador para fazer afirmações sobre o estado do programa em pontos específicos e identificar momentos em que o programa passa para os estados que não são permitidos .
Quando usar afirmações < br >
Afirmações devem ser usadas para verificar invariantes , ou situações que o programador acredita que nunca irá ocorrer. O exemplo abaixo de uma afirmação sobre o estado de uma moeda é um exemplo de uma invariante . Ao usar afirmações para verificar invariantes , os programadores de conseguir duas coisas . Em primeiro lugar, eles fornecem uma maneira para que o programa falhar se o invariante acaba por ser falsa , devido à corrupção de memória. Em segundo lugar, eles fornecem uma maneira claramente legível para o programador para mostrar outros programadores os pressupostos que existem em seu código.
Problemas
O problema central com afirmações pode ser atribuída ao fato de que eles são um recurso opcional. Por uma série de razões, as máquinas cliente pode optar por executar o programa com afirmações desligado. Isto tem um número de efeitos . Em primeiro lugar, o programador não pode colocar qualquer código em uma suposição de que altera o estado do programa, uma vez que este código não seria mais executada se uma afirmação falhou. Segundo, o programador não pode assumir que as afirmações serão avaliadas . Isso significa que o argumento a verificação de métodos ainda deve ser realizada utilizando o antigo sistema de exceções , o que nunca pode ser desativado. Finalmente, uma vez que uma nova palavra-chave " afirmar " foi adicionada à linguagem , variáveis no código antigo não pode ter o nome de " assert ".
Afirmação Exemplo
Considere o seguinte código: