Generally the public function that throws the exception should document it.  To be really correct, every calling function up the chain should also document it.  For this case, which is a bit of an outlier, I would document it only with `Context.prototype.createShaderProgram`.  Later that function will most likely go away and all access will be through the cache.  CC #640