Assertion in java
In this tutorial we are going to tell you what is assertion in Java and how to use it in your Java program to improve the quality of your applications!
What is Assertion in Java
According to Sun, we can use assertion to test our
assumption about programs. That means it validates our program!
In another words we can say that assertions ensures the program validity by catching exceptions and logical
errors. They can be stated as comments to guide the programmer. Assertions are
of two types:
1) Preconditions
2) Postconditions.
Preconditions are the assertions which invokes when a method is invoked and Postconditions are the assertions which invokes after a method finishes.
Where to use Assertions
We can use assertions in java to make it more understanding and user
friendly, because assertions can be used while defining preconditions and post
conditions of the program. Apart from this we can use assertions on internal,
control flow and class invariants as well? to improve the programming
experience.
Declaring Assertion:
Assertion statements have two form-
assert expression;
This statement evaluates expression and
throws an AssertionError if the expression
is false.
assert expression1 : expression2
This statement evaluates expression1
and throws an AssertionError with expression2
as the error message if expression1 is false.
Now we are providing you an example which explains you more clearly.
Here is the code of AssertionExample.java
import java.util.*;
|
In the above example, When the user enters the number scanner.nextInt() method reads the number from the command line. The assert statement determines whether the entered number is within the valid range. If the user entered a number which is out of range then the error occurs.
To run the above example,
Compile the example with: javac AssertionExample.java
Run the example with: java -ea AssertionExample
To enable assertions at runtime, -ea
command-line option is used
When you enter the number within range, output will be displayed as:
When you enter the number out of range, output will be: