Afirmații în Java
O afirmație permite testarea corectitudinii oricăror ipoteze care au fost făcute în program. O afirmație se realizează folosind afirma declarație în Java. În timpul executării afirmației, se crede că este adevărată. Dacă eșuează, JVM aruncă o eroare numită AssertionError. Este folosit în principal în scopuri de testare în timpul dezvoltării.
The afirma declarația este folosită cu o expresie booleană și poate fi scrisă în două moduri diferite .
Prima cale:
assert expression;
A doua cale:
assert expression1 : expression2;
Exemplu:
Java
// 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);> > }> }> |
Ieșire
value is 15
După activarea aserțiilor:
Ieșire:
Exception in thread 'main' java.lang.AssertionError: Underweight
Activarea aserțiilor
În mod implicit, aserțiunile sunt dezactivate. Trebuie să rulăm codul așa cum este dat. Sintaxa pentru activarea declarației de aserție în codul sursă Java este:
java –ea Test
Sau
java –enableassertions Test
Aici, Test este numele fișierului.
Dezactivarea aserțiilor
Sintaxa pentru dezactivarea aserțiilor în java este:
java –da Test
Sau
java –disableassertions Test
Aici, Test este numele fișierului.
De ce să folosiți Assertions
Oriunde un programator dorește să vadă dacă presupunerile lui/ei sunt greșite sau nu.
- Pentru a vă asigura că un cod cu aspect inaccesibil este de fapt inaccesibil.
- Pentru a vă asigura că ipotezele scrise în comentarii sunt corecte.
if ((x & 1) == 1) { } else // x must be even { assert (x % 2 == 0); } - Pentru a vă asigura că cazul comutatorului implicit nu este atins.
- Pentru a verifica starea obiectului.
- La începutul metodei
- După invocarea metodei.
Aserțiune versus gestionarea normală a excepțiilor
Aserțiunile sunt folosite în principal pentru a verifica situații imposibile din punct de vedere logic. De exemplu, ele pot fi folosite pentru a verifica starea la care se așteaptă un cod înainte de a începe să ruleze sau starea după ce se termină rularea. Spre deosebire de gestionarea obișnuită a excepțiilor/erorilor, aserțiunile sunt în general dezactivate în timpul execuției.
Unde să folosiți Aserțiuni
- Argumente la metodele private. Argumentele private sunt furnizate numai de codul dezvoltatorului, iar dezvoltatorul poate dori să verifice presupunerile sale despre argumente.
- Cazuri condiționate.
- Condiții la începutul oricărei metode.
Unde să nu folosești Assertions
- Afirmațiile nu trebuie folosite pentru a înlocui mesajele de eroare
- Aserțiunile nu trebuie folosite pentru a verifica argumentele în metodele publice, deoarece acestea pot fi furnizate de utilizator. Tratarea erorilor ar trebui utilizată pentru a gestiona erorile furnizate de utilizatori.
- Aserțiunile nu trebuie folosite pe argumentele liniei de comandă.
Exemplu:
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);> > }> }> |
Ieșire
The voter's age is 14