当前位置: 首页>>代码示例>>C++>>正文


C++ Interpreter::builtinEvalError方法代码示例

本文整理汇总了C++中Interpreter::builtinEvalError方法的典型用法代码示例。如果您正苦于以下问题:C++ Interpreter::builtinEvalError方法的具体用法?C++ Interpreter::builtinEvalError怎么用?C++ Interpreter::builtinEvalError使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Interpreter的用法示例。


在下文中一共展示了Interpreter::builtinEvalError方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: fprintf

JSObject *Error::create(ExecState *exec, ErrorType errtype, const UString &message,
                         int lineno, int sourceId, const UString &sourceURL)
{
#ifdef KJS_VERBOSE
  // message could be 0L. Don't enable this on Solaris ;)
  fprintf(stderr, "WARNING: KJS %s: %s\n", errorNamesArr[errtype], message.ascii());
#endif


  Interpreter* interp = exec->lexicalInterpreter();
  JSObject *cons;
  switch (errtype) {
  case EvalError:
    cons = interp->builtinEvalError();
    break;
  case RangeError:
    cons = interp->builtinRangeError();
    break;
  case ReferenceError:
    cons = interp->builtinReferenceError();
    break;
  case SyntaxError:
    cons = interp->builtinSyntaxError();
    break;
  case TypeError:
    cons = interp->builtinTypeError();
    break;
  case URIError:
    cons = interp->builtinURIError();
    break;
  default:
    cons = interp->builtinError();
    break;
  }

  List args;
  if (message.isEmpty())
    args.append(jsString(errorNames[errtype]));
  else
    args.append(jsString(message));
  JSObject *err = static_cast<JSObject *>(cons->construct(exec,args));

  if (lineno != -1)
    err->put(exec, "line", jsNumber(lineno));
  if (sourceId != -1)
    err->put(exec, "sourceId", jsNumber(sourceId));

  if(!sourceURL.isNull())
    err->put(exec, "sourceURL", jsString(sourceURL));

  return err;

/*
#ifndef NDEBUG
  const char *msg = err->get(messagePropertyName)->toString().value().ascii();
  if (l >= 0)
      fprintf(stderr, "KJS: %s at line %d. %s\n", estr, l, msg);
  else
      fprintf(stderr, "KJS: %s. %s\n", estr, msg);
#endif

  return err;
*/
}
开发者ID:,项目名称:,代码行数:64,代码来源:


注:本文中的Interpreter::builtinEvalError方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。