O que devemos fazer se o programa não estiver preparado para lidar com erros capturando exceções ? Podemos resolver isso com declarações de asserção .
As instruções de asserção são muito úteis durante o estágio de depuração do código e geralmente são usadas para erros que o programa não está preparado para tratar capturando exceções.
Por exemplo: quando ocorre um erro, por exemplo, quando uma conta é negociada e o valor da despesa é um número positivo ou o valor da receita é um número negativo, o programa deve interromper a execução imediatamente. Deixe a instrução de asserção funcionar durante a fase de depuração do código, para que você possa encontrar alguns erros fatais quando o programa estiver em execução oficial, você pode desativar a instrução de asserção, mas ainda manter a instrução de asserção no código-fonte. para ser depurado novamente no futuro, você pode reativar as instruções de asserção.
Usamos a palavra-chave assert para declarar uma declaração de afirmação. A declaração de afirmação tem os dois formatos a seguir:
assertbooleanExpression;//Uma expressão que é avaliada como um tipo booleano assertbooleanExpression:messageException;//Uma expressão que é avaliada como um tipo string
Quando o valor for verdadeiro, a execução do programa continua a partir da instrução de asserção.
Quando o valor é falso, a execução do programa para na instrução de asserção.
Quando o valor for verdadeiro, a execução do programa continua a partir da instrução de asserção.
Quando o valor é falso, o programa interrompe a execução da instrução de asserção e gera o valor da expressão messageException para lembrar ao usuário qual problema ocorreu.
Por exemplo, para uma declaração de afirmação:
asserti>=0;
Se o valor da expressão i >= 0 for verdadeiro, o programa continua a execução; se o valor da expressão i >= 0 for falso, o programa termina a execução imediatamente.
Ao executar o aplicativo diretamente usando o interpretador Java, as instruções de asserção são desativadas por padrão. Você pode usar -ea para ativar as instruções de asserção ao depurar o programa, por exemplo:
classe java-eamain
Por exemplo:
publicclassMain{publicstaticvoidmain(String[]args){int[]score={-120,98,96,94,92};intsum=0;for(intnumber:score){//Use for para percorrer a matriz assertnumber>= 0: Números negativos não podem ser notas;soma=soma+número;}System.out.println(pontuação total:+soma);}}
Os resultados da execução são os seguintes:
Pontuação total: 260