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

Riverside Chicago charter limousine .. Lockport Chicago limo O’Hare
In The News:

NASA's Ingenuity helicopter, which flew on Mars in April 2021, became the first aircraft to achieve powered, controlled flight on a planet other than Earth.
Stay up to date on the latest AI technology advancements and learn about the challenges and opportunities AI presents now and for the future.
Thieves who have iPhones can usually detect a hidden AirTag in vehicles they are attempting to steal, and an RFID wallet may not help you.
Genmoji, the latest addition to Apple's Apple Intelligence suite, uses artificial intelligence to generate customized emoji based on text descriptions.
It's easy to find yourself swamped in unread emails. Here are a few simple steps to archiving them and clearing out some of your digital clutter.
Keep your retirement plan safe from data brokers selling your personal information. Kurt the CyberGuy explains how to protect yourself and your retirement.
Turo faces scrutiny after tragic incidents involving rented vehicles, raising questions about security measures and regulatory frameworks.
A Chinese company has developed a spherical, 276-pound law enforcement robot that has been chasing down criminals at impressive speeds.
Here are some powerful online sleuthing tricks you can use to check the credibility of a website, see old pictures of places you've lived and even learn more about your neighbors.
Beware scam calls: Avoid unknown numbers and protect your personal information. Tech expert Kurt “CyberGuy" Knutsson talks about the increasingly common scam.
Tech expert Kurt “CyberGuy" Knutsson helps you crush your New Year's goals with these 12 apps to help you stay on track and succeed.
There are many untapped safeguards and tips you can learn to take your Wi-Fi knowledge to the next level, technology expert Kim Komando shares her tricks.
VPNs ensure privacy; antivirus stops malware. Tech expert Kurt “CyberGuy" Knutsson says both are essential for online security.
Tech expert Kurt “CyberGuy" Knutsson cites a new report that says many people still use weak passwords like "123456," risking their accounts.
Tech expert Kurt “CyberGuy" Knutsson says a tech support scam used a fake Windows Defender pop-up, tricking the victim to call and download software.
Tech expert Kurt “CyberGuy" Knutsson reveals ways to restore accidentally deleted text messages on your Android phone.
A new study says outdoor security camera apps are among the biggest collectors of user data, including phone numbers, payment details and precise location.
In iOS 18.2 and later, Apple's Mail app enhances email management by automatically sorting messages into distinct categories to help find emails faster.
A virtual private network (VPN) allows computer and smartphone users to mask an IP and create a secure, encrypted connection between a device and the internet.
Android 15's latest feature, Private Space, is like a private vault helping to keep your personal or sensitive apps away from prying eyes.
Cybercriminals have more ways than ever to target teenagers; here are some of the most widespread scams and tricks to watch in order to keep your loved ones safe.
Stay up to date on the latest AI technology advancements and learn about the challenges and opportunities AI presents now and for the future.
A humanoid robot named CUE6 has got game. The basketball-playing robot, produced by Toyota, claimed a Guinness World Record for longest shot.
With electronic signatures becoming more common, Kurt the CyberGuy explains how to produce your digital John Hancock for online documents.
Kurt the CyberGuy walks through steps he recommends immediately taking after getting new electronics — like phones or TVs — as gifts this holiday season.

Free Program Removes Spyware not Detected by Premium Security Scan

What is Spyware?Spyware monitors your surfing habits and sends the... Read More

It?s Back!! WordPerfect?s Amazing Comeback

Have you noticed WordPerfect is gearing up for a comeback... Read More

When is a Software Engineer Not a Software Engineer?

The title of "software engineer" has got to be among... Read More

Microsoft Moves to Small Business Accounting/Retail Market ? Stakes and Thoughts

In this small article we will be looking at the... Read More

Microsoft Great Plains Accounting/ERP Implementation ? Finance Industry Customization Example

Microsoft Business Solutions Great Plains is very generic accounting application... Read More

Three Steps To Windows Safety Heaven

Now there are Three Steps To Heaven Just listen and... Read More

Vlans

In order to implement VLANs in a network environment, you'll... Read More

A Simple Guide To Wikis

A wiki is an editable text-based website. But you don't... Read More

Software Review: Xsitepro Total Site Management Software

It's not very often I get excited about a software... Read More

Microsoft Great Plains - Typical Problems And Fixes ? Overview For IT Administrators

How to delete the user? This is the first problem... Read More

Open Source Concepts: Dual Licensing Explained

We were recently faced with a decision: either to let... Read More

Editing Your Photos Using Microsoft Picture It Publishing Platinum 2002 - A Great Dinosaur

I started using PIP (Picture It Publishing) Platinum 2002 right... Read More

Microsoft Retail Management System (RMS) SQL Customization ? Overview for Programmer

Microsoft Retail Management System serves retail single store as well... Read More

Your Computer May Be Infected, Heres How To Check (NOT about virus)

NOTE: Please take time to read on - it may... Read More

MySQL for Beginners ? How to Create a MySQL Database

Whether you are an experienced web programmer or a complete... Read More

The Truth: Netzero 3G

We've all seen the ads on TV for Netzero 3G.... Read More

Microsoft Great Plains: Dexterity vs. eConnect ? FAQ

Microsoft Business Solutions Great Plains, former Great Plains Software Dynamics/eEnterprise... Read More

Microsoft Great Plains Oil & Gas ? Implementation & Customization Highlights

Microsoft Great Plains serves the wide spectrum of horizontal markets.... Read More

Helping Newbies Understand Professional Software

The Windows registry is a huge database that ensures normal... Read More

New SQL Delta Version 3.1

COMMAND LINE FUNCTIONA powerful command line script processor has been... Read More

Downloading Spyware Removers: Think Before, not After

Just imagine: you are walking, say, towards your car, and... Read More

Microsoft Great Plains SOP: Sales Order Processing

Microsoft Business Solutions Great Plains is marketed for mid-size companies... Read More

Microsoft CRM USA Nationwide Remote Support

Remember old good days when your company probably had Great... Read More

Microsoft CRM Implementation for Large Corporation ? overview

Microsoft Business Solutions CRM is now approaching the phase of... Read More

Microsoft Great Plains international implementation ? USA / Mexico ? overview for consultant

Microsoft Business Solutions Great Plains was purchased from Great Plains... Read More

Lincoln Stretch rentals Lake Villa ..