So, it's not the call to isDisplayed() that's failing, it's the findElement operation. If it returns null, then isDisplayed() will raise an exception since it doesn't have a proper object operate on. If you rewrote your code to check the results of findElement in your if statement, you wouldn't need to use try/catch.
I wonder why you are calling isDisplayed() after findElement(). The element must be visible if it is found. Also, it can be expensive to make superfluous calls to Appium if they are not necessary. I'd be tempted to rewrite the code this way
element = driver.findElement(By.xpath("//android.widget.TextView[contains(@text,'Current Booking')]"))
if (element) {
element.click
} else {
driver.closeApp()
}
This assumes that findElement returns an element or nil -- I'm not familiar enough with the API in Java to answer that question. The check for element is not correct, but you can make that proper java code.