GLSLProgram uses exceptions instead of return values.