FAQ

On 20/05/2016 08:22, Niklas Keller wrote:
2016-05-20 4:13 GMT+02:00 Jesse Schalken <me@jesseschalken.com>:
The top frame is the construction (get_error) and the site of the throw
(do_throw) doesn't appear in the stack at all.
The comparison with JavaScript isn't a good one, since you can throw
everything in JS. If they didn't provide the stack trace upon throw, you
would not have a stack trace at all if you throw a plain string.

That explanation justifies completely the opposite behaviour to what
Jesse described.

According to MDN [1] the "stack" property is completley unstandardised,
and some engines may indeed populate it on throw, but there's no hint on
that page that they'll attach it to anything not constructed as an Error.

So it's not a great comparison for either side (note that it was
originally brought up by Rasmus as an example where it *does* come from
the throw site) because the language doesn't actually guarantee you a
stack trace at all.

[1]
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/stack

Regards,
--
Rowan Collins
[IMSoP]

Search Discussions

Discussion Posts

Previous

Follow ups

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 12 of 18 | next ›
Discussion Overview
groupphp-internals @
categoriesphp
postedMay 19, '16 at 11:14a
activeMay 24, '16 at 6:53p
posts18
users9
websitephp.net

People

Translate

site design / logo © 2019 Grokbase