Wednesday, May 31, 2006

Assertion

An assertion is a statement containing a boolean expression that is assumed to be true when the statement is executed. The system reports an AssertionError if the expression evaluates to false. It is used for debugging purposes:

assert(a > 0); // throws an AssertionError if a <= 0

Assertions can be in two forms:

assert Expression1 ;
assert Expression1 : Expression2 ;

Expression1 should always result in a boolean value.Expression2 can be anything that results in a value. The value is used to generate a String message that displays more debugging information.

Example:
class AssertionTest{
int a ;
public void func(){
assert (a < 0): "a is positive" ;
// Remaining code
}
}

In the above code, the assertion expression is true if a is negative. If a is positive, an AssertionError is thrown with the message "a is positive."Assertions are disabled by default. To compile with assertions enabled, you need to use the source 1.4 flag:javac -source 1.4 Test.javaTo enable assertions at runtime, use the -enableassertions or -ea flags.For selective disabling of assertions at runtime, use the -da or –disableassertions flags.For enabling assertions in the system classes, use the -esa or -dsa flags. Assertions can also be enabled or disabled on a package basis.

0 Comments:

Post a Comment

<< Home