Make error message in case top-level aspect is missing clearer.

Fixes #2874.

Change-Id: I636e0f6b56a1e33adfc64e90f36f76d4254d0281
PiperOrigin-RevId: 162726099
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java
index b01faa9..234ed0b 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java
@@ -120,9 +120,15 @@
 
       Object skylarkValue = skylarkImportLookupValue.getEnvironmentExtension().getBindings()
           .get(skylarkValueName);
+      if (skylarkValue == null) {
+        throw new ConversionException(
+            String.format(
+                "%s is not exported from %s", skylarkValueName, extensionLabel.toString()));
+      }
       if (!(skylarkValue instanceof SkylarkAspect)) {
         throw new ConversionException(
-            skylarkValueName + " from " + extensionLabel.toString() + " is not an aspect");
+            String.format(
+                "%s from %s is not an aspect", skylarkValueName, extensionLabel.toString()));
       }
       return (SkylarkAspect) skylarkValue;
     } catch (SkylarkImportFailedException | ConversionException e) {