logo

Asercje w Javie

Asercja pozwala na sprawdzenie poprawności założeń przyjętych w programie. Twierdzenie osiąga się za pomocą zapewniać instrukcja w Javie. Wykonując twierdzenie, uważa się, że jest ono prawdziwe. Jeśli to się nie powiedzie, JVM zgłasza błąd o nazwie Błąd asercji. Jest używany głównie do celów testowych podczas programowania.

The zapewniać instrukcja jest używana z wyrażeniem boolowskim i można ją zapisać dwa różne sposoby .



Pierwszy sposób:

 assert expression;>

Drugi sposób:

 assert expression1 : expression2;>

Przykład:



Jawa






// 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);> >}> }>

>

>

Wyjście

value is 15>

Po włączeniu asercji:

Wyjście:

Exception in thread 'main' java.lang.AssertionError: Underweight>

Włączanie asercji

rozpakowywanie w Linuksie

Domyślnie potwierdzenia są wyłączone. Musimy uruchomić podany kod. Składnia włączania instrukcji asercji w kodzie źródłowym Java jest następująca:

 java –ea  Test>

Lub

 java –enableassertions  Test>

Tutaj Test jest nazwą pliku.

Wyłączanie asercji

Składnia wyłączania asercji w Javie jest następująca:

 java –da  Test>

Lub

 java –disableassertions  Test>

Tutaj Test jest nazwą pliku.

Po co używać asercji

Wszędzie tam, gdzie programista chce sprawdzić, czy jego założenia są błędne, czy nie.

  • Aby upewnić się, że kod wyglądający na nieosiągalny jest w rzeczywistości nieosiągalny.
  • Aby mieć pewność, że założenia zapisane w komentarzach są prawidłowe.
if ((x & 1) == 1) { } else // x must be even { assert (x % 2 == 0); }>
  • Aby upewnić się, że domyślna obudowa przełącznika nie została osiągnięta.
  • Aby sprawdzić stan obiektu.
  • Na początku metody
  • Po wywołaniu metody.

Asercja a normalna obsługa wyjątków

sortowanie przez scalanie

Asercji używa się głównie do sprawdzania logicznie niemożliwych sytuacji. Można ich na przykład użyć do sprawdzenia stanu, jakiego oczekuje kod przed rozpoczęciem działania lub stanu po jego zakończeniu. W przeciwieństwie do normalnej obsługi wyjątków/błędów, asercje są zazwyczaj wyłączane w czasie wykonywania.

Gdzie używać asercji

  • Argumenty metod prywatnych. Argumenty prywatne są dostarczane wyłącznie przez kod programisty, a programista może chcieć sprawdzić swoje założenia dotyczące argumentów.
  • Przypadki warunkowe.
  • Warunki na początku dowolnej metody.

Gdzie nie używać asercji

  • Asercji nie należy używać do zastępowania komunikatów o błędach
  • Asercji nie należy używać do sprawdzania argumentów w metodach publicznych, ponieważ mogą one zostać dostarczone przez użytkownika. Do obsługi błędów zgłaszanych przez użytkowników należy stosować obsługę błędów.
  • Asercji nie należy używać w przypadku argumentów wiersza poleceń.

Przykład:

Jawa




// 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);> >}> }>

>

>

Wyjście

The voter's age is 14>