JSObject* createError(ExecState* exec, JSValue value, const String& message, ErrorInstance::SourceAppender appender) { String errorMessage = makeString(errorDescriptionForValue(exec, value)->value(exec), ' ', message); JSObject* exception = createTypeError(exec, errorMessage, appender, runtimeTypeForValue(value)); ASSERT(exception->isErrorInstance()); return exception; }
JSObject* createError(ExecState* exec, ErrorFactory errorFactory, JSValue value, const String& message) { String errorMessage = makeString(errorDescriptionForValue(exec, value)->value(exec), " ", message); JSObject* exception = errorFactory(exec, errorMessage); ASSERT(exception->isErrorInstance()); static_cast<ErrorInstance*>(exception)->setAppendSourceToMessage(); return exception; }
JSObject* createError(ExecState* exec, JSValue value, const String& message, ErrorInstance::SourceAppender appender) { VM& vm = exec->vm(); auto scope = DECLARE_CATCH_SCOPE(vm); String errorMessage = makeString(errorDescriptionForValue(exec, value)->value(exec), ' ', message); ASSERT_UNUSED(scope, !scope.exception()); JSObject* exception = createTypeError(exec, errorMessage, appender, runtimeTypeForValue(value)); ASSERT(exception->isErrorInstance()); return exception; }