Ticket #1283 (closed todo: fixed)

Opened 5 years ago

Last modified 3 years ago

rethrow should keep the backtrace of the original 'die'

Reported by: coke Owned by: whiteknight
Priority: minor Milestone: 3.0
Component: core Version: trunk
Severity: low Keywords: exceptions
Cc: Language:
Patch status: Platform: all

Description

Originally reported in:  http://rt.perl.org/rt3/Ticket/Display.html?id=60044

The crucial bit here is:

On Thu, Oct 23, 2008 at 08:04:41PM -0700, Allison Randal wrote:
>
> I don't understand the problem. Is it that you expect 'rethrow' to keep 
> the stack trace of the original 'die'?

...this is what I would expect. If I catch and then rethrow an
exception, I'd expect the stack trace to continue to show the
location of the original throw, not the location of the
rethrow.

Pm

Change History

Changed 4 years ago by coke

  • owner set to whiteknight

Changed 4 years ago by whiteknight

  • priority changed from normal to minor
  • platform set to all
  • component changed from none to core
  • status changed from new to assigned
  • severity changed from medium to low

I'm playing around with this issue in the exception_backtraces branch.

Changed 4 years ago by whiteknight

  • keywords exceptions added
  • milestone set to 3.0

This is done now in the exception_backtraces branch, minus some tweaks. I'm going to send an email to the list and will be looking for testers and feedback about the new algorithm.

Changed 3 years ago by whiteknight

  • status changed from assigned to closed
  • resolution set to fixed

This is done now and has been for some time. The Exception.backtrace_strings() method returns an array of strings, one for each throw/rethrow in the exception history. If problems are found with this solution or it has bugs or whatever, we can open new tickets.

Note: See TracTickets for help on using tickets.