From 3b6a0a25c287ea1c7e37b733caa58d79945ca4ca Mon Sep 17 00:00:00 2001 From: Geequlim Date: Thu, 25 Jun 2020 11:39:46 +0800 Subject: [PATCH] Output error message when set default property values --- quickjs/quickjs_binder.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/quickjs/quickjs_binder.cpp b/quickjs/quickjs_binder.cpp index 82127576..b5206f84 100644 --- a/quickjs/quickjs_binder.cpp +++ b/quickjs/quickjs_binder.cpp @@ -1865,7 +1865,14 @@ ECMAScriptGCHandler QuickJSBinder::create_ecma_instance_for_godot_object(const E const StringName *prop_name = p_class->properties.next(NULL); while (prop_name) { JSAtom pname = get_atom(ctx, *prop_name); - JS_SetProperty(ctx, object, pname, variant_to_var(ctx, p_class->properties.getptr(*prop_name)->default_value)); + int ret = JS_SetProperty(ctx, object, pname, variant_to_var(ctx, p_class->properties.getptr(*prop_name)->default_value)); + if (ret < 0) { + JSValue e = JS_GetException(ctx); + ECMAscriptScriptError error; + dump_exception(ctx, e, &error); + JS_FreeValue(ctx, e); + ERR_PRINTS(error_to_string(error)); + } JS_FreeAtom(ctx, pname); prop_name = p_class->properties.next(prop_name); }