Una afirmació permet comprovar la correcció de qualsevol supòsit que s'hagi fet al programa. S'aconsegueix una afirmació utilitzant el afirmar declaració en Java. Mentre s'executa l'afirmació, es creu que és veritat. Si falla, JVM llança un error anomenat AssertionError. S'utilitza principalment amb finalitats de prova durant el desenvolupament.
El afirmar La sentència s'utilitza amb una expressió booleana i es pot escriure dues maneres diferents .
Primera via:
assert expression;>
Segona via:
assert expression1 : expression2;>
Exemple:
Java
np.linspace
// Java program to demonstrate syntax of assertion> import> java.util.Scanner;> class> Test {> >public> static> void> main(String args[])> >{> >int> value =>15>;> >assert> value>=>20> :>' Underweight'>;> >System.out.println(>'value is '> + value);> >}> }> |
arquitectura de von neumann
>
>Sortida
value is 15>
Després d'habilitar les afirmacions:
Sortida:
Exception in thread 'main' java.lang.AssertionError: Underweight>
Habilitació d'afirmacions
Per defecte, les afirmacions estan desactivades. Hem d'executar el codi tal com s'indica. La sintaxi per habilitar la declaració d'asserció al codi font Java és:
java –ea Test>
O
mecanografia cadascun
java –enableassertions Test>
Aquí, Test és el nom del fitxer.
Desactivació d'afirmacions
La sintaxi per desactivar les afirmacions en java és:
java –da Test>
O
java –disableassertions Test>
Aquí, Test és el nom del fitxer.
Per què utilitzar Assercions
Sempre que un programador vulgui veure si les seves suposicions són incorrectes o no.
- Per assegurar-se que un codi d'aspecte inabastable és realment inabastable.
- Per assegurar-se que les suposicions escrites als comentaris són correctes.
if ((x & 1) == 1) { } else // x must be even { assert (x % 2 == 0); }> - Per assegurar-se que no s'arriba al cas de canvi predeterminat.
- Per comprovar l'estat de l'objecte.
- Al principi del mètode
- Després de la invocació del mètode.
Asserció versus maneig normal d'excepcions
Les afirmacions s'utilitzen principalment per comprovar situacions lògicament impossibles. Per exemple, es poden utilitzar per comprovar l'estat que espera un codi abans de començar a executar-se o l'estat després que s'acabi d'executar-se. A diferència del maneig normal d'excepcions/errors, les afirmacions generalment es desactiven en temps d'execució.
On utilitzar les afirmacions
- Arguments a mètodes privats. Els arguments privats només els proporciona el codi del desenvolupador i és possible que el desenvolupador vulgui comprovar les seves suposicions sobre els arguments.
- Casos condicionals.
- Condicions a l'inici de qualsevol mètode.
On no utilitzar Assertions
- Les afirmacions no s'han d'utilitzar per substituir els missatges d'error
- Les afirmacions no s'han d'utilitzar per comprovar arguments en els mètodes públics, ja que poden ser proporcionats per l'usuari. La gestió d'errors s'ha d'utilitzar per gestionar els errors proporcionats pels usuaris.
- Les afirmacions no s'han d'utilitzar en arguments de línia d'ordres.
Exemple:
c programa per a la comparació de cadenes
Java
// Java program to demonstrate assertion in Java> public> class> Example {> >public> static> void> main(String[] args)> >{> >int> age =>14>;> >assert> age <=>18> :>'Cannot Vote'>;> >System.out.println(>'The voter's age is '> + age);> >}> }> |
quan es va inventar el primer ordinador
>
>Sortida
The voter's age is 14>