¿Qué debemos hacer si el programa no está preparado para manejar errores detectando excepciones ? Podemos resolver esto con declaraciones de aserción .
Las declaraciones de aserción son muy útiles durante la etapa de depuración del código y generalmente se usan para errores que el programa no está preparado para manejar detectando excepciones.
Por ejemplo: cuando ocurre un error, por ejemplo, cuando se negocia una cuenta y el monto del gasto es un número positivo o el monto del ingreso es un número negativo, el programa debe detener la ejecución inmediatamente. Deje que la declaración de aserción funcione durante la fase de depuración del código, de modo que pueda encontrar algunos errores fatales cuando el programa se esté ejecutando oficialmente, puede desactivar la declaración de aserción, pero aún así mantenerla en el código fuente si la aplicación lo necesita. Para que se depure nuevamente en el futuro, puede volver a habilitar las declaraciones de aserción.
Usamos la palabra clave afirmar para declarar una declaración de aserción. La declaración de aserción tiene los dos formatos siguientes:
afirmarbooleanExpression;//Una expresión que se evalúa como un tipo booleano afirmarbooleanExpression:messageException;//Una expresión que se evalúa como un tipo de cadena
Cuando el valor es verdadero, la ejecución del programa continúa desde la declaración de aserción.
Cuando el valor es falso, la ejecución del programa se detiene en la declaración de aserción.
Cuando el valor es verdadero, la ejecución del programa continúa desde la declaración de aserción.
Cuando el valor es falso, el programa detiene la ejecución de la declaración de aserción y genera el valor de la expresión messageException para recordarle al usuario qué problema ha ocurrido.
Por ejemplo, para una declaración de afirmación:
afirmar>=0;
Si el valor de la expresión i >= 0 es verdadero, el programa continúa la ejecución; si el valor de la expresión i >= 0 es falso, el programa finaliza la ejecución inmediatamente.
Cuando se ejecuta la aplicación directamente usando el intérprete de Java, las declaraciones de aserción están desactivadas de forma predeterminada. Puede usar -ea para habilitar las declaraciones de aserción al depurar el programa, por ejemplo:
java-eamainclase
Por ejemplo:
publicclassMain{publicstaticvoidmain(String[]args){int[]score={-120,98,96,94,92};intsum=0;for(intnumber:score){// Utilice for para recorrer la matriz afirmarnúmero>= 0: Los números negativos no pueden ser calificaciones; suma=suma+número;}System.out.println(puntuación total:+suma);}}
Los resultados de ejecución son los siguientes:
Puntuación total: 260