Está usted en Indice > Construcción > Lenguajes > Java > Lecciones y Paso a Paso > Introducción a los Asertos en Java
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Introducción a los Asertos en Java

Introducción

Antes de nada, se conoce como aserto a una instrucción que contiene una expresión booleana de la que el programador sabe que en un momento dado de la ejecución del programa se debe evaluar a verdadero. Todos aquellos que hayan visto alguna vez la verificación formal de algoritmos saben de que estamos hablando. Ejemplos de asertos son las precondiciones, postcondiciones y los invariantes. Volviendo a la definición, observamos que verificando que esta expresion booleana, el aserto, es cierta, el sistema comprueba que el programa se ejecuta dentro de los límites que el programador le marca y ademas reduce la posibilidad de errores.

Los asertos no son nada nuevo en programación, de hecho los asertos ya estaban previstos en la especificación inicial de oak (el lenguaje precursor de Java) pero fueron desestimados por que no había tiempo suficiente para hacer una implementación satisfactoria.

Uso

Para declarar un aserto en una clase Java, se usa la palabra clave assert que tiene la siguiente sintáxis:

assert Expresion1;
assert Expresión1:Expresión2;

En cualquiera de los dos casos Expresión1 tiene que ser una expresión booleana o se producirá un error de compilación. Cuando se evalúa un aserto que solo tenga Expresión1, se comprueba la veracidad de la expresión y si es verdadera se continúa la ejecución del programa, pero si es falsa, se lanza una excepción de tipo AssertionError. Si el aserto contiene además una Expresión2 y Expresión1 es falsa, se evalúa Expresion2 y se le pasa como parámetro al constructor del AssertionError (Si Expresion1 se evalúa como cierto, la segunda expresión no se evalúa).

Compilación

Para que el compilador del JDK (javac) entienda la nueva instrucción, se le debe pasar como parámetro -source 1.4, por ejemplo:

javac -source 1.4 Aserto.java

Esto le indica al compilador que el código que recibe utiliza características del lenguaje aparecidas en la versión 1.4 del JDK.

Ahora bien, ¿Que ocurre con las classes ya escritas que usan assert como variable?. Pues que no compilarán, aunque si ya estan compiladas seguirán ejecutándose sin problemas en la nueva versión del JDK.

Activación/Desactivación

Los asertos estan pensados para la comprobación de invariantes (condiciones que se cumplen siempre en un determinado trozo de código), por lo que tienen mas interés en la etapa de desarrollo. Por esto se puede desactivar y activar la comprobación de los asertos. Por defecto la comprobación de los asertos esta desactivada y se proporcionan dos opciones para el intérprete del JDK (java).

java -enableassertions (-ea), para activar la comprobación.
java -disableassertions (-da), para desactivar la comprobación.


Usuarios que han visto este tema también han visto...

- Introducción a Flash con JSP
- Transformar XML en HTML utilizando XSL y API Java
- Cast & Performance en Java
- Usando calendarios y restando fechas en Java
- Qué Puedes Hacer Con EJB3 (primera parte)


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad






Cursos de Community Manager

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2011 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 24-05-2012 a las 14:39:14