Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 4 of 4 total
Thread Error stack
Mon, Aug 21 2017 11:09 AMPermanent Link

Matthew Jones

I have a handler linked to the Application.OnError event so that I can log errors that happen. I added a stack trace facility, discussed previously, but that is only getting me as deep as
webui_tinterfacemanager.$p.tinterfacemanager_errorhandler()@http://site.com/my.js:18812:21,
{anonymous}()

Searching tells me that exceptions can grab the error.stack value, supported by modern browsers. Or I could stuff the stack into a global if I can get to it at the first possible point. This doesn't need to be all browsers, just help me find obscure things in my nearing release phase.

Anyone got clues/suggestions?

--

Matthew Jones
Tue, Aug 22 2017 11:54 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Matthew,

<< I have a handler linked to the Application.OnError event so that I can log errors that happen. I added a stack trace facility, discussed previously, but that is only getting me as deep as
webui_tinterfacemanager.$p.tinterfacemanager_errorhandler()@http://site.com/my.js:18812:21,
{anonymous}()

Searching tells me that exceptions can grab the error.stack value, supported by modern browsers. Or I could stuff the stack into a global if I can get to it at the first possible point. This doesn't need to be all browsers, just help me find obscure things in my nearing release phase. >>

That's the problem - it *isn't* supported by IE9 and MDN states:

"This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future."

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/Stack

Tim Young
Elevate Software
www.elevatesoft.com
Tue, Aug 22 2017 12:16 PMPermanent Link

Matthew Jones

Tim Young [Elevate Software] wrote:

> That's the problem - it isn't supported by IE9 and MDN states:

Yes, but that is not relevant in this situation. I have three users and can say "no IE9". Heck, IE9 is surely killable by now? Indeed, Microsoft say it is dead already.
https://www.microsoft.com/en-gb/windowsforbusiness/end-of-ie-support - and that was a year ago.

I realise you may not want to add this, but what I would like to know is where the "bottom of the exception heap" is that I could hack to get this info. As I say, just grabbing it and putting it in a global will do for me. I can pick it up in the error handler then.

--

Matthew Jones
Fri, Aug 25 2017 12:30 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Matthew,

<< Yes, but that is not relevant in this situation. >>

Actually, it is.  The IE9 situation is irrelevant - the more important point is that the vendors/standards haven't set a firm way of retrieving a stack trace, and the way implemented by a few is apparently not going to hold.  This may be a nod to things like WebAssembly where getting a stack trace is going to be a bit more complicated.

<< I realise you may not want to add this, >>

I *can't* add things that aren't consistent across browser implementations.  It would take two seconds to add this, and it would help me immensely, so my personal wants aren't a factor.

<< but what I would like to know is where the "bottom of the exception heap" is that I could hack to get this info. As I say, just grabbing it and putting it in a global will do for me. I can pick it up in the error handler then. >>

What you want is the InterfaceManager class in the WebUI unit.  It is what hooks the global error event and dispatches it to the application's OnError event handler.

Tim Young
Elevate Software
www.elevatesoft.com
Image