Ce este Assertion în Java? Cum se utilizează Assertion în Java

Publicat: 2021-05-20

Cuprins

Ce este Assertion în Java?

Afirmația în Java este folosită pentru a asigura corectitudinea ipotezelor oricărui program, deoarece se presupune că aserția este adevărată atunci când este executată. Mașina virtuală Java afișează o eroare numită AssertionError dacă afirmația este falsă. Afirmația din Java și-a găsit aplicația în principal în scopuri de testare. Expresiile booleene sunt folosite împreună cu declarațiile de aserțiune. O aserțiune este o declarație, iar cuvântul cheie „activ” este folosit pentru a efectua o aserțiune în Java.

Sintaxă

Următoarele sunt două moduri în care afirmația este efectuată în Java:

1. exprimare afirmativă;

2. afirma expresie1: expresie2;

Cum se utilizează Assertion în Java?

Aserțiunile sunt dezactivate în Java în mod implicit. Următoarea comandă este folosită pentru a le activa:

java -ea Test

(sau)

java -enableassertions Test

unde Test este numele fișierului Java.

Iată un exemplu pentru a demonstra sintaxa aserției:

Test de clasă publică

{

public static void main(String[] args)

{

valoare int = 13;

afirmă valoarea <= 12: „Nu Teen”;

System.out.println(„Vârsta adolescentului este ” + valoare);

}

}

Ieșire

Iată un exemplu pentru generarea unei erori de afirmare de către mașina virtuală Java -

Test de clasă

{

public static void main( String args[] )

{

greutate int = 30;

afirmă greutatea >= 20 : „Excesul de greutate”;

System.out.println(„Greutatea este „+valoare);

}

}

Ieșire

După activarea aserțiilor,

Ieșire

Excepție în firul „principal” java.lang.AssertionError: Excesul de greutate

Cam asa arata:

Sursă

De ce să folosiți aserțiuni?

Afirmația în Java este folosită pentru:

  • Verificați dacă presupunerile făcute de programator sunt corecte sau nu.
  • Asigurați-vă că, dacă codul pare inaccesibil, este inaccesibil.
  • Confirmați că ipotezele scrise în comentarii sunt corecte, de exemplu:

dacă ((y & 1) == 1)

{ }

else // trebuie să fii par

{ afirmă (y % 2 == 0); }

  • asigurați-vă că cazul comutatorului implicit nu este atins
  • verifica starea obiectului

Afirmația în Java este folosită la începutul metodei și după invocarea metodei.

Unde să folosiți Aserțiuni?

Afirmația în Java este folosită în cazuri condiționate și când condițiile sunt la începutul oricărei metode. De asemenea, în cazul argumentelor la metode private. Codul dezvoltatorului oferă argumente private și când programatorul trebuie să verifice presupunerile sale cu privire la argumente.

Iată câteva situații în care utilizarea aserțiunilor ar trebui evitată:

  1. Conform specificațiilor oferite de Sun Microsystems, afirmația nu ar trebui utilizată în timpul verificării argumentelor în metodele publice, deoarece aceasta ar duce la excepții adecvate de rulare, cum ar fi NullPointerException și IllegalArgumentException.
  2. Nu ar trebui să fie folosit ca înlocuitor al mesajelor de eroare.
  3. Dacă nu doriți să apară nicio eroare în nicio situație, omiteți utilizarea aserției.
  4. Nu ar trebui să fie folosit pe argumentele liniei de comandă.
  5. Dacă utilizatorul furnizează erori, aserțiunile nu trebuie folosite pentru a verifica argumentele în metodele publice. În schimb, ar trebui utilizată tratarea erorilor.

Cum să dezactivezi aserțiunile?

Următoarele comenzi sunt folosite pentru a dezactiva afirmarea în Java:

java –da Test

Sau

java – Test de dezactivare

unde Test este numele fișierului Java.

Modalități de a utiliza Assertion în Java

Exemplul 1: afirmație Java

clasă publică principal {

public static void main(String args[]) {

String[] zile lucrătoare = {„Luni”, „Marți”, „Miercuri”,”Joi”,”Vineri”};

afirmă zilele săptămânii.lungime == 2;

System.out.println(„Există ” + lungimea zilelor săptămânii + ” zile ale săptămânii într-o săptămână”);

}

}

Ieșire

Următorul rezultat este obținut atunci când aserțiunile sunt dezactivate și programul nu are erori de compilare.

Când aserțiunile sunt activate, vom obține următoarea ieșire:

Excepție în firul „principal” java.lang.AssertionError

Există o altă formă de afirmație, care este după cum urmează:

afirmă condiție: expresie;

Această formă de declarație de aserțiune are o expresie care este transmisă constructorului obiectului AssertionError. Dacă condiția este falsă, această expresie are o valoare afișată ca mesaj de detaliu al erorii. Pentru a ajuta la depanarea problemei, masajul detaliat captează și transmite informațiile despre eșecul afirmației.

Exemplul 2: Aserțiune Java cu exemplu de expresie

clasă publică principal {

public static void main(String args[]) {

String[] zile lucrătoare = {„Luni”, „Marți”, „Miercuri”,”Joi”,”Vineri”, „Sâmbătă”};

assert weekdays.length == 5: „Sunt doar 5 zile lucrătoare într-o săptămână”;;

System.out.println(„Există ” + lungimea zilelor săptămânii + ” zile ale săptămânii într-o săptămână”);

}

}

Ieșire

Excepție în firul „principal” java.lang.AssertionError: Există doar 5 weekend-uri într-o săptămână

După cum se arată în exemplul de mai sus, expresia este transmisă constructorului obiectului AssertionError. Deoarece afirmațiile sunt activate și presupunerea este falsă, este afișat un mesaj adecvat atunci când este aruncată o excepție. Mesajul ajută la diagnosticarea și remedierea erorii care a cauzat eșecul aserțiunii.

Învață cursuri de inginerie software online de la cele mai bune universități din lume. Câștigă programe Executive PG, programe avansate de certificat sau programe de master pentru a-ți accelera cariera.

Concluzie

În acest blog, ați învățat cum să utilizați aserțiuni pentru a testa logica programului. De asemenea, ați învățat de ce aserțiunile nu pot fi folosite ca înlocuitor pentru excepții și ați văzut situații în care utilizarea unei excepții ar fi mai eficientă decât gestionarea excepțiilor.

Dacă doriți să aflați mai multe despre Java și să progresați în cariera de programator, explorați cursurile online gratuite de Java oferite de upGrad, cea mai mare companie de învățământ superior online din India. Vizitați upGrad pentru mai multe informații.

Dacă sunteți interesat să aflați mai multe despre Java, dezvoltarea de software full-stack, consultați programul Executive PG de la upGrad și IIIT-B în dezvoltarea de software full-stack, care este conceput pentru profesioniști care lucrează și oferă peste 500 de ore de formare riguroasă, 9+ proiecte și sarcini, statutul de absolvenți IIIT-B, proiecte practice practice și asistență pentru locuri de muncă cu firme de top.

Ce este afirmația în Java?

În limbajul de programare Java, aserțiunea este o metodă folosită pentru a se asigura că unele cerințe trebuie respectate. Eșecul aserției în Java este considerată o eroare de compilare, adică dacă există aserțiuni în codul dvs., codul nu va fi compilat și veți primi un mesaj de eroare. Această caracteristică a Java vă permite să vă protejați codul împotriva erorilor neașteptate sau nedorite de rulare. Declarația Java assert vă permite să testați invarianții programului dvs. în timpul rulării. Aserțiunile sunt utilizate în mod normal pentru a verifica dacă codul nu intră într-o stare nevalidă. În alte limbi, puteți vedea metode de contract sau condiții pre/post utilizate în acest scop.

Cum să gestionezi excepțiile în Java?

O excepție este o eroare de rulare, ceea ce înseamnă că apare în timp ce programul rulează, nu în timpul compilării. Excepția este aruncată atunci când a apărut o eroare și programul nu poate continua. Puteți gestiona excepțiile în trei moduri diferite: Ignorați excepția și permiteți programului să iasă. Utilizați cuvântul cheie throw pentru a reintroduce excepția. Utilizați blocul try-catch pentru a gestiona excepția. Puteți să înregistrați sau să imprimați excepția și apoi să lăsați programul să iasă. Puteți utiliza cuvântul cheie exit pentru a încheia programul. Puteți folosi cuvântul cheie throw pentru a reintroduce excepția. Puteți folosi blocul try-catch pentru a gestiona excepția. Există un bloc catch care acceptă excepția în argumentul său. Există un bloc în sfârșit care rulează indiferent dacă este aruncată sau nu o excepție.

Cum funcționează try-catch în Java?

try-catch este un mecanism în Java care vă permite să definiți un domeniu în care puteți face față erorilor de rulare într-un mod controlat. De asemenea, asigură că fluxul de execuție nu se oprește complet atunci când este întâlnită o eroare. try and catch sunt două cuvinte cheie folosite pentru a implementa gestionarea excepțiilor. Ori de câte ori apare o eroare în programul dvs., blocul try va fi executat, iar eroarea va fi apoi gestionată de blocul catch.