Try to use implicit waits to ensure that the objects are available to selenium.
Include this code in @BeforeTest or @BeforeSuite annotation which ensure the entire test suite will not run if this fails. You can also use try/catch to catch the error and throw exception. Choose whatever is best solution in your case
public static Boolean IsObjectExists(WebDriver driver, By locator) {
driver.manage().timeouts().implicitlyWait(500, TimeUnit.MILLISECONDS);
try {
driver.findElement(locator);
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
return true;
} catch (NoSuchElementException e) {
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
return false;
}