Improve error messages inside RJSUtil

This commit is contained in:
Scott Kyle 2015-11-02 11:13:30 -08:00
parent 381dbbe7ba
commit f5047af3bc

View File

@ -138,7 +138,7 @@ static inline JSValueRef RJSValidatedPropertyValue(JSContextRef ctx, JSObjectRef
static inline JSObjectRef RJSValidatedObjectProperty(JSContextRef ctx, JSObjectRef object, JSStringRef property, const char *err = NULL) { static inline JSObjectRef RJSValidatedObjectProperty(JSContextRef ctx, JSObjectRef object, JSStringRef property, const char *err = NULL) {
JSValueRef propertyValue = RJSValidatedPropertyValue(ctx, object, property); JSValueRef propertyValue = RJSValidatedPropertyValue(ctx, object, property);
if (JSValueIsUndefined(ctx, propertyValue)) { if (JSValueIsUndefined(ctx, propertyValue)) {
throw std::runtime_error(err ?: "Object property is undefined"); throw std::runtime_error(err ?: "Object property '" + RJSStringForJSString(property) + "' is undefined");
} }
return RJSValidatedValueToObject(ctx, propertyValue, err); return RJSValidatedValueToObject(ctx, propertyValue, err);
} }
@ -158,7 +158,7 @@ static inline std::string RJSValidatedStringProperty(JSContextRef ctx, JSObjectR
if (exception) { if (exception) {
throw RJSException(ctx, exception); throw RJSException(ctx, exception);
} }
return RJSValidatedStringForValue(ctx, propertyValue); return RJSValidatedStringForValue(ctx, propertyValue, RJSStringForJSString(property).c_str());
} }
static inline size_t RJSValidatedListLength(JSContextRef ctx, JSObjectRef object) { static inline size_t RJSValidatedListLength(JSContextRef ctx, JSObjectRef object) {