Software Information

Assertion in Java


Assertion facility is added in J2SE 1.4. In order to support this facility J2SE 1.4 added the keyword assert to the language, and AssertionError class. An assertion checks a boolean-typed expression that must be true during program runtime execution. The assertion facility can be enabled or disable at runtime.

Declaring Assertion

Assertion statements have two forms as given below

assert expression;

assert expression1 : expression2;

The first form is simple form of assertion, while second form takes another expression. In both of the form boolean expression represents condition that must be evaluate to true runtime.

If the condition evaluates to false and assertions are enabled, AssertionError will be thrown at runtime.

Some examples that use simple assertion form are as follows.

assert value > 5 ;

assert accontBalance > 0;

assert isStatusEnabled();

The expression that has to be asserted runtime must be boolean value. In third example isStatusEnabled() must return boolean value. If condition evaluates to true, execution continues normally, otherwise the AssertionError is thrown.

Following program uses simple form of assertion

//AssertionDemo.java

Class AssertionDemo{

Public static void main(String args[]){

System.out.println( withdrawMoney(1000,500) );

System.out.println( withdrawMoney(1000,2000) );

}

public double withdrawMoney(double balance , double amount){

assert balance >= amount;

return balance - amount;

}

}

In above given example, main method calls withdrawMoney method with balance and amount as arguments. The withdrawMoney method has a assert statement that checks whether the balance is grater than or equal to amount to be withdrawn. In first call the method will execute without any exception, but in second call it AssertionError is thrown if the assertion is enabled at runtime.

Enable/Disable Assertions

By default assertion are not enabled, but compiler complains if assert is used as an identifier or label. The following command will compile AssertionDemo with assertion enabled.

javac -source 1.4 AssertionDemo.java

The resulting AssertionDemo class file will contain assertion code.

By default assertion are disabled in Java runtime environment. The argument -eanbleassertion or -ea will enables assertion, while -disableassertion or -da will disable assertions at runtime.

The following command will run AssertionDemo with assertion enabled.

Java -ea AssertionDemo

or

Java -enableassertion AssertionDemo

Second form of Assertion

The second form of assertion takes another expression as an argument.

The syntax is,

assert expression1 : expression2;

where expression1 is the condition and must evaluate to true at runtime.

This statement is equivalent to

assert expression1 : throw new AssertionError(expression2);

Note: AssertionError is unchecked exception, because it is inherited from Error class.

Here, expression2 must evaluate to some value.

By default AssertionError doesn't provide useful message so this form can be helpful to display some informative message to the user.

Rahim Vindhani
Application Develper [Application Development & Webservices]
IBM Global Services, pune, India
email: rahim.vindhani@gmail.com
web: http://www.rahim.co.nr


MORE RESOURCES:

Callidus Software Slips To Wider Q4 Loss
NASDAQ
(RTTNews.com) - Callidus Software Inc. (CALD) reported a fourth-quarter net loss of $3.6 million or $0.11 per share, wider than last year's loss of $1.5 million or $0.04 per share. Last year, results included $1.4 million of stock-based compensation ...
Callidus Software Announces Fourth Quarter and Full Year 2011 ResultsMarketwire (press release)
Callidus Software, Inc. (CALD) Reports In-Line Q4 EPS; Guides Q1 RevsStreetInsider.com (subscription)

all 12 news articles »


Moxie Software Sponsors Free, Live Webinar on Canon's Best Practices for Field ...
MarketWatch (press release)
Moxie Software, Inc., the Enterprise Social Software Company, today announced it is sponsoring a free, live webinar discussing Canon's Best Practices for Field Service: The New Face of Customer Satisfaction. John Ragsdale, TSIA's vice president of ...

and more »


BMC Software Sells $500 Mln 10-Yr Bonds at 4.316%
Wall Street Journal
By Patrick McGee Of DOW JONES NEWSWIRES NEW YORK (Dow Jones)--BMC Software Inc. (BMC) completed a $500 million sale of 10-year bonds in the US credit markets Wednesday, according to a person familiar with the deal. The 4.25% coupon bonds were priced to ...

and more »


Latitude Software and PaymentVision Offer Integrated Debt Collection and ...
EON: Enhanced Online News (press release)
GAITHERSBURG, Md.--(EON: Enhanced Online News)--Latitude Software, an Interactive Intelligence Group Inc. company (Nasdaq: ININ), and PaymentVision have partnered to offer an integrated debt collection and electronic payment solution.

and more »


Oracle Debuts Analytical Software For 'Big Data' Tasks
CRN
By Rick Whiting, CRN Oracle is adding to its "Big Data" product lineup, bundling its Oracle R Enterprise software with its Oracle Data Mining toolset in a move the company said will make it easier for businesses to analyze increasingly huge volumes of ...

and more »


ASC Partners Selects Acumatica as its Choice of Cloud ERP Software
EON: Enhanced Online News (press release)
ASC Partners joins Acumatica to offer customers web-based software with flexible on-premise or SaaS deployments. BETHESDA, Md.--(EON: Enhanced Online News)--Acumatica, a provider of Cloud ERP software, today announced that Accounting Solutions ...
SaaS, Cloud, and Renting ERP SoftwareERP Cloud News

all 7 news articles »


Guidance Software stock jumps after strong 4Q
CBS News
(AP) NEW YORK — Shares of Guidance Software Inc. rose to their highest level in more than three years Wednesday on strong fourth-quarter results and an upbeat outlook. THE SPARK: After the market closed on Tuesday, Guidance reported net income of $2.3 ...
Guidance Software to Acquire CaseCentralBusiness Wire (press release)
Guidance Software buys CaseCentral for eDiscovery one-two punchFierceContentManagement
Guidance Software Acquires CaseCentralsocalTech.com
Los Angeles Business Journal
all 9 news articles »


Autodesk Alias Software Helps Volvo Car Corporation's Vision of Luxury and ...
EON: Enhanced Online News (press release)
FARNBOROUGH, England--(EON: Enhanced Online News)--Volvo Car Corporation (Volvo) one of the global car industry's strongest brands, has revealed that Autodesk design and visualisation software was key to the successful design of its Concept You car.

and more »


Marin Software Promotes Brian Marin and Ed Stevenson to Global Positions
MarketWatch (press release)
SAN FRANCISCO, CA, Feb 08, 2012 (MARKETWIRE via COMTEX) -- Marin Software, provider of the leading online advertising management platform for advertisers and agencies, today announced the promotions of Brian Marin to Vice President, Global Services and ...

and more »


Jive Software Q4 Loss Widens Despite Higher Revenues - Update
NASDAQ
(RTTNews.com) - Enterprise social networking company Jive Software Inc. (JIVE) on Tuesday reported a loss for the fourth quarter that widened from last year as higher costs and expenses offset strong revenue growth. The latest quarterly results are the ...
Jive Software to Present at the Goldman Sachs Technology & Internet Conference ...MarketWatch (press release)
Jive Software reports fourth-quarter lossSan Francisco Chronicle
Jive Financials Show Social Software MomentumInformationWeek
Forbes -TalkinCloud (blog) -RTT News
all 52 news articles »

Google News

Home | Site Map

Powered By: Free Work At Home Business Opportunity!

© 2006