anchor.diff:        buffers[attribute] = buffer;
       }
       final attribLocation = gl.getAttribLocation(program, attribute);
  +    if (attribLocation == -1) {
  +      throw new ArgumentError(
  +          'Attribute $attribute not found in shader $vShaderFile}');
  +    }
       gl
         ..bindBuffer(RenderingContext.ARRAY_BUFFER, buffer)
         ..bufferData(RenderingContext.ARRAY_BUFFER, items, usage)
  
positive.code:     }
      for (Attrib attribute in attributes) {
        final attribLocation = gl.getAttribLocation(program, attribute.name);
        gl
          ..vertexAttribPointer(
              attribLocation,
  
negative.code:     final compileSuccess =
          gl.getShaderParameter(shader, RenderingContext2.COMPILE_STATUS);
      if (!compileSuccess) {
        success = false;
        throw new ArgumentError(
            '$runtimeType - Error compiling shader $vShaderFile or $fShaderFile: ${gl.getShaderInfoLog(shader)}');
      }
      return shader;
    }
  