From a16b1d711a5ff7d032760db43cda77add648fb69 Mon Sep 17 00:00:00 2001 From: Matt Corallo Date: Fri, 31 Mar 2023 17:25:48 +0000 Subject: [PATCH] [TS] log when an exception is thrown inside of a trait call This was what #125 was supposed to be about, but the issue description was overly vague. --- typescript_strings.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/typescript_strings.py b/typescript_strings.py index 5d5eb814..89aa57a2 100644 --- a/typescript_strings.py +++ b/typescript_strings.py @@ -1638,7 +1638,14 @@ js_invoke = function(obj_ptr: number, fn_id: number, arg1: bigint|number, arg2: console.error("Got function call with id " + fn_id + " on incorrect JS object: " + obj); throw new Error("Got function call with id " + fn_id + " on incorrect JS object: " + obj); } - const ret = fn.value.bind(obj)(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); + var ret; + try { + ret = fn.value.bind(obj)(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); + } catch (e) { + console.error("Got an exception calling function with id " + fn_id + "! This is fatal."); + console.error(e); + throw e; + } if (ret === undefined || ret === null) return BigInt(0); return BigInt(ret); }""") -- 2.39.5