From 96cb3b01ded7fbe81f07c8a5269edcee205f6222 Mon Sep 17 00:00:00 2001 From: Ondrej Pokorny <ondrej@kluug.net> Date: Mon, 9 Dec 2024 16:43:39 +0000 Subject: [PATCH] Pas2JS: showException with stack trace for RTL Exception object --- utils/pas2js/dist/rtl.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/utils/pas2js/dist/rtl.js b/utils/pas2js/dist/rtl.js index fee293acf5..b9944a93b6 100644 --- a/utils/pas2js/dist/rtl.js +++ b/utils/pas2js/dist/rtl.js @@ -155,7 +155,13 @@ var rtl = { }, showException : function (re) { - var errStack = (re.hasOwnProperty('stack')) ? re.stack : re; + var errStack=""; + if (rtl.isObject(re) && re.hasOwnProperty('FJSError') && rtl.isObject(re.FJSError) && !(re.FJSError.stack==undefined)) // rtl Exception + errStack=re.FJSError.stack + else if (rtl.isObject(re) && re.hasOwnProperty('stack') && !(re.stack==undefined)) // native JS Error + errStack=re.stack + else + errStack=re; // unknown object var errMsg = rtl.hasString(re.$classname) ? re.$classname : ''; errMsg += ((errMsg) ? ': ' : '') + (re.hasOwnProperty('fMessage') ? re.fMessage : ''); errMsg += ((errMsg) ? "\n" : '') + errStack;