| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 | import defined from "./defined.js";/** * Constructs an exception object that is thrown due to an error that can occur at runtime, e.g., * out of memory, could not compile shader, etc.  If a function may throw this * exception, the calling code should be prepared to catch it. * <br /><br /> * On the other hand, a {@link DeveloperError} indicates an exception due * to a developer error, e.g., invalid argument, that usually indicates a bug in the * calling code. * * @alias RuntimeError * @constructor * @extends Error * * @param {String} [message] The error message for this exception. * * @see DeveloperError */function RuntimeError(message) {  /**   * 'RuntimeError' indicating that this exception was thrown due to a runtime error.   * @type {String}   * @readonly   */  this.name = "RuntimeError";  /**   * The explanation for why this exception was thrown.   * @type {String}   * @readonly   */  this.message = message;  //Browsers such as IE don't have a stack property until you actually throw the error.  let stack;  try {    throw new Error();  } catch (e) {    stack = e.stack;  }  /**   * The stack trace of this exception, if available.   * @type {String}   * @readonly   */  this.stack = stack;}if (defined(Object.create)) {  RuntimeError.prototype = Object.create(Error.prototype);  RuntimeError.prototype.constructor = RuntimeError;}RuntimeError.prototype.toString = function () {  let str = `${this.name}: ${this.message}`;  if (defined(this.stack)) {    str += `\n${this.stack.toString()}`;  }  return str;};export default RuntimeError;
 |