On 08/10/13 09:01, Rowan Collins wrote:
>
> (2) Don't capture arguments in the trace of an exception, similar to
> debug_backtrace with DEBUG_BACKTRACE_IGNORE_ARGS set. This would
> technically be a BC break, but I'm not sure how much real code would
> care. It's impossible to reconstruct details of the calls fully
> without the PROVIDE_OBJECT behaviour anyway.
>
> This would also have the advantage of making destructors fire more
> predictably - at the moment, an exception can bubble past a block of
> code with a deliberately scoped object (e.g. an RAII-style lock
> token), and if that object happens to be an argument within the
> Exception's trace, it survives until the Exception itself is
> destructed, because it has a reference inside the Exception's trace.
> Again, arguably you shouldn't be relying on this or keeping
> Exception objects around for long anyway, but it's kind of
> unexpected behaviour.

Is it possible to make the trace options be overridable by the
Exception subclass? That would provide a migration path for any code
that did rely on the args being available. And I think our app could
benefit from having closure objects available for logging, especially
if it is possible to get line numbers.

-- Tim Starling

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to