本文整理汇总了C++中Interpreter::builtinSyntaxError方法的典型用法代码示例。如果您正苦于以下问题:C++ Interpreter::builtinSyntaxError方法的具体用法?C++ Interpreter::builtinSyntaxError怎么用?C++ Interpreter::builtinSyntaxError使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Interpreter
的用法示例。
在下文中一共展示了Interpreter::builtinSyntaxError方法的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;
*/
}