Mecanismul Debug aserțiune pentru Java, blog despre criptare

Lupta pentru calitatea programelor desfășurate în toate modurile posibile. La etapa de depanare este mulțumit, dar este greu de găsit erorile implicite în funcționarea aplicației. De exemplu, în metoda de stabilire a vârstei utilizatorului, informațiile de vârstă este preluată dintr-o sursă externă (un fișier, o bază de date), iar rezultatul este o valoare negativă. Mai mult, datele incorecte afectează rezultatul calculului vârsta medie a utilizatorului etc. Identificarea și corectat-lyat astfel de situații permite mecanismul revendicărilor de identitate (afirmație). Prin utilizarea acestui mecanism poate fi formulat cerințe referitoare la metodele de intrare, de ieșire și de clasă de date intermediare sub forma unor condiții logice.

Încercarea de a gestiona situația de apariție a vârstei negativ ar putea arata astfel:

vârstă int = ob.getAge ();

// Mesaj despre date greșite

Acum, mecanismul de afirmare vă permite să creați cod care va arunca o excepție în etapa de depanare postconditii de verificare sau de date intermediare sub formă de:

vârstă int = ob.getAge ();

afirmă (vârstă> = 0): "AGE NEGATIV.";

Instrucțiuni Spelling ASSERT:

Expresia boolexp poate accepta numai o valoare boolean sau tipuri Boolean. și expresia - orice valoare care poate fi transformata apel la linia. În cazul în care expresia logică se evaluează la false. gena-trol excepție AssertionError. iar programul se încheie cu concluzia valorii consolei expresiei (dacă este setat).

Mecanismul aserțiune este potrivit pentru verificarea invarianților, cum ar fi cele enumerate:

String str = "ALB" // "GRI"

Mono mono = Mono.valueOf (str);

assertfalse. "Colorat!";

creatorii limbii nu trebuie utilizat la verificarea publice parametrii de afirmare -methods. În astfel de situații este mai bine pentru a genera un tip de excepție: IllegalArgumentException. NullPointerException sau excepție personalizate. De asemenea, nu există prea mult sens în mecanismul de afirmare pentru verificarea valorilor limită ale variabilelor, deoarece excepțiile sunt generate în acest caz, fără nici un ajutor.

Aserțiunea pot fi incluse pentru anumite clase și pachete de pornire mașină virtuală în forma:

java -enableassertions Clasa_Mea

Pentru a dezactiva sau de a folosi -da -disableassertions.