Do not fail internally in the executable check if the file is missing.

Also made some other error messages more clear.

Test: art/build/apex/runtests.sh with the breakage in b/235614072
Bug: 235614072
Change-Id: I2413a4914b281e8912d8cbcc936bbabeda9e35a0
diff --git a/build/apex/art_apex_test.py b/build/apex/art_apex_test.py
index 1da9029..556bb78 100755
--- a/build/apex/art_apex_test.py
+++ b/build/apex/art_apex_test.py
@@ -274,17 +274,22 @@
   def check_art_test_executable(self, filename, multilib=None):
     dirs = self.arch_dirs_for_path(ART_TEST_DIR, multilib)
     if not dirs:
-      self.fail('ART test binary missing: %s', filename)
+      self.fail('Directories for ART test binary missing: %s', filename)
+      return
     for dir in dirs:
       test_path = '%s/%s' % (dir, filename)
       self._expected_file_globs.add(test_path)
-      if not self._provider.get(test_path).is_exec:
+      file_obj = self._provider.get(test_path)
+      if not file_obj:
+        self.fail('ART test binary missing: %s', test_path)
+      elif not file_obj.is_exec:
         self.fail('%s is not executable', test_path)
 
   def check_art_test_data(self, filename):
     dirs = self.arch_dirs_for_path(ART_TEST_DIR)
     if not dirs:
-      self.fail('ART test data missing: %s', filename)
+      self.fail('Directories for ART test data missing: %s', filename)
+      return
     for dir in dirs:
       if not self.check_file('%s/%s' % (dir, filename)):
         return