2013 – How to check if ListItem DisplayName is initialized in CSOM (SP2013)?

I currently have a code that looks like this:

static public string GetListItemDisplayName (ClientContext clientContext, ListItem listItem)
{
string displayName;
try
{
displayName = listItem.DisplayName;
}
capture
{
clientContext.Load (listItem, args => args.DisplayName);
clientContext.ExecuteQuery ();
displayName = listItem.DisplayName;
}
return listItem.DisplayName;
}

I have the feeling that using a trycatch is not the most elegant solution to check if the ListItem DisplayName has been launched. Is there another way to do it?
I have tried to use clientContext.Web.IsPropertyAvailable ("DisplayName") but that does not seem to work as I thought.