¿Qué es la aserción en Java? Cómo usar la afirmación en Java

Publicado: 2021-05-20

Tabla de contenido

¿Qué es la aserción en Java?

La aserción en Java se utiliza para garantizar la corrección de las suposiciones de cualquier programa, ya que se supone que la aserción es verdadera cuando se ejecuta. La máquina virtual de Java arroja un error llamado AssertionError si la afirmación es falsa. La aserción en Java ha encontrado su aplicación principalmente con fines de prueba. Las expresiones booleanas se utilizan junto con las declaraciones de afirmación. Una aserción es una declaración, y la palabra clave 'activo' se usa para realizar una aserción en Java.

Sintaxis

Las siguientes son dos formas en que se lleva a cabo la aserción en Java:

1. afirmar expresión;

2. afirmar expresión1: expresión2;

¿Cómo usar la aserción en Java?

Las aserciones están deshabilitadas en Java de forma predeterminada. El siguiente comando se utiliza para habilitarlos:

prueba java -ea

(o)

Prueba java -enableassertions

donde Prueba es el nombre del archivo Java.

Aquí hay un ejemplo para demostrar la sintaxis de la aserción:

Prueba de clase pública

{

public static void main(String[] args)

{

valor int = 13;

valor de aserción <= 12: "No adolescente";

System.out.println(“La edad del adolescente es” + valor);

}

}

Producción

Aquí hay un ejemplo para la generación de un error de aserción por parte de la máquina virtual de Java:

prueba de clase

{

public static void principal( String args[] )

{

peso int = 30;

afirmar peso >= 20 : ” Sobrepeso”;

System.out.println(“El peso es “+valor);

}

}

Producción

Después de habilitar las aserciones,

Producción

Excepción en el hilo "principal" java.lang.AssertionError: Sobrepeso

Esto es lo que parece:

Fuente

¿Por qué usar aserciones?

La afirmación en Java se utiliza para:

  • Comprobar si las suposiciones hechas por el programador son correctas o no.
  • Asegúrese de que si el código parece inalcanzable, sea inalcanzable.
  • Confirme que las suposiciones escritas en los comentarios son correctas, por ejemplo:

si ((y & 1) == 1)

{ }

else // y debe ser par

{ afirmar (y % 2 == 0); }

  • asegúrese de que no se alcance el caso de cambio predeterminado
  • comprobar el estado del objeto

La aserción en Java se usa al comienzo del método y después de la invocación del método.

¿Dónde usar las aserciones?

La aserción en Java se usa en casos condicionales y cuando las condiciones están al comienzo de cualquier método. También, en el caso de argumentos a métodos privados. El código del desarrollador proporciona argumentos privados y cuando el programador necesita verificar sus suposiciones con respecto a los argumentos.

Aquí hay algunas situaciones en las que se debe evitar el uso de aserciones:

  1. De acuerdo con las especificaciones proporcionadas por Sun Microsystems, la aserción no debe usarse al verificar los argumentos en los métodos públicos porque eso daría lugar a excepciones de tiempo de ejecución apropiadas, como NullPointerException e IllegalArgumentException.
  2. No debe usarse como reemplazo de los mensajes de error.
  3. Si no desea que surja ningún error en ninguna situación, omita el uso de la afirmación.
  4. No debe usarse en argumentos de línea de comandos.
  5. Si el usuario proporciona errores, las aserciones no deben usarse para verificar argumentos en métodos públicos. En su lugar, se debe utilizar el manejo de errores.

¿Cómo deshabilitar las aserciones?

Los siguientes comandos se utilizan para deshabilitar la aserción en Java:

prueba java –da

O

java – Prueba de inhabilitación de aserciones

donde Prueba es el nombre del archivo Java.

Maneras de usar Aserción en Java

Ejemplo 1: aserción de Java

clase pública Principal {

public static void main(String args[]) {

String[] días de la semana = {“Lun”, “Tue”, “Wed”,”Thur”,”Fri”};

afirmar días de la semana.longitud == 2;

System.out.println(“Hay ” + días de la semana.longitud + ” días de la semana en una semana”);

}

}

Producción

El siguiente resultado se logra cuando las aserciones están deshabilitadas y el programa no tiene errores de compilación.

Cuando las aserciones estén habilitadas, obtendremos el siguiente resultado:

Excepción en el hilo "principal" java.lang.AssertionError

Hay otra forma de declaración de aserción que es la siguiente:

afirmar condición: expresión;

Esta forma de declaración de aserción tiene una expresión que se pasa al constructor del objeto AssertionError. Si la condición es falsa, esta expresión tiene un valor que se muestra como mensaje de detalle del error. Para ayudar a depurar el problema, el masaje detallado captura y transmite la información de falla de aserción.

Ejemplo 2: aserción de Java con ejemplo de expresión

clase pública Principal {

public static void main(String args[]) {

String[] días de la semana = {“Lun”, “Tue”, “Wed”,”Thur”,”Fri”, “Sat”};

afirmar días de la semana.longitud == 5: "Solo hay 5 días de la semana en una semana";;

System.out.println(“Hay ” + días de la semana.longitud + ” días de la semana en una semana”);

}

}

Producción

Excepción en el hilo "principal" java.lang.AssertionError: solo hay 5 fines de semana en una semana

Como se muestra en el ejemplo anterior, la expresión se pasa al constructor del objeto AssertionError. Como las aserciones están habilitadas y la suposición es falsa, se muestra un mensaje apropiado cuando se lanza una excepción. El mensaje ayuda a diagnosticar y corregir el error que provocó el fallo de la aserción.

Aprenda cursos de ingeniería de software en línea de las mejores universidades del mundo. Obtenga programas Executive PG, programas de certificados avanzados o programas de maestría para acelerar su carrera.

Conclusión

En este blog, ha aprendido a usar aserciones para probar la lógica del programa. También aprendió por qué las aserciones no se pueden usar como reemplazo de las excepciones y ha visto situaciones en las que usar una excepción sería más efectivo que el manejo de excepciones.

Si desea obtener más información sobre Java y avanzar en su carrera de programación, explore los cursos en línea gratuitos de Java de upGrad, la empresa de educación superior en línea más grande de la India. Visite upGrad para obtener más información.

Si está interesado en obtener más información sobre Java, desarrollo de software de pila completa, consulte el programa Executive PG de upGrad & IIIT-B en desarrollo de software de pila completa, que está diseñado para profesionales que trabajan y ofrece más de 500 horas de capacitación rigurosa, 9+ proyectos y asignaciones, estado de exalumno de IIIT-B, proyectos finales prácticos prácticos y asistencia laboral con las mejores empresas.

¿Qué es la aserción en Java?

En el lenguaje de programación Java, la aserción es un método utilizado para garantizar que se cumplan algunos requisitos. La falla de aserción en Java se considera un error de compilación, es decir, si hay alguna aserción en su código, el código no se compilará y obtendrá un mensaje de error. Esta característica de Java le permite proteger su código de errores de tiempo de ejecución inesperados o no deseados. La declaración de afirmación de Java le permite probar invariantes de su programa en tiempo de ejecución. Las aserciones se utilizan normalmente para comprobar que el código no está entrando en un estado no válido. En otros idiomas, puede ver los métodos de contrato o las condiciones previas y posteriores que se utilizan para este fin.

¿Cómo manejar las excepciones en Java?

Una excepción es un error de tiempo de ejecución, lo que significa que ocurre mientras se ejecuta el programa, no durante la compilación. La excepción se produce cuando se produce un error y el programa no puede continuar. Puede manejar las excepciones de tres maneras diferentes: Ignore la excepción y permita que el programa se cierre. Utilice la palabra clave throw para volver a generar la excepción. Use el bloque try-catch para manejar la excepción. Puede registrar o imprimir la excepción y luego dejar que el programa salga. Puede utilizar la palabra clave exit para finalizar el programa. Puede utilizar la palabra clave throw para volver a generar la excepción. Puede usar el bloque try-catch para manejar la excepción. Hay un bloque catch que acepta la excepción en su argumento. Hay un bloque finalmente que se ejecuta ya sea que se produzca una excepción o no.

¿Cómo funciona try-catch en Java?

try-catch es un mecanismo en Java que le permite definir un ámbito en el que puede tratar los errores de tiempo de ejecución de forma controlada. También asegura que el flujo de ejecución no se detenga por completo cuando se encuentra un error. try y catch son dos palabras clave que se utilizan para implementar el manejo de excepciones. Siempre que ocurra un error en su programa, el bloque try se ejecutará y el error será manejado por el bloque catch.