# ^reflection:stack[$exception]: lazy snapshots within catch lifetime (feature #1145)
@main[]
^core[]
@core[]
$report[^hash::create[]]
^try{^bug[]}{
$exception.handled(true)
$saved[$exception]
$report.caught[^cleanE[$exception]]
$report.caught_stack[^stack[$exception]]
^try{^inner(10)}{
$exception.handled(true)
$inner_saved[^cleanE[$exception]]
$report.inner_stack[^stack[$exception]]
$report.caught_in_inner[$saved]
$report.caught_in_inner_stack[^stack[$saved]]
}
$report.caught_after[^cleanE[$exception]]
$report.caught_after[^stack[$exception]]
$report.inner_expired[^expired[$inner_saved]]
$report.current_stack[^cleanS[^reflection:stack[]]]
}{
$report.finally_expired[^expired[$saved]]
}
$report.outside_expired[^expired[$saved]]
^try{
^try{^bug[]}{
$replaced[$exception]
^replacement[]
}
}{
$exception.handled(true)
$report.replaced_expired[^expired[$replaced]]
$report.replacement[^stack[$exception]]
}
^try{^bug[]}{
$propagated[$exception]
$report.propagating[^stack[$exception]]
}
@cleanE[result]
$result.file[file]
@cleanS[result]
^result.foreach[;v]{
$v.self[]
$v.file[file]
}
@clean[result]
^result.menu{$result.file[file]}
@stack[e]
$result[^clean[^reflection:stack[$e]]]
@bug[]
^if(1){ ^missing_bug[] }
@inner[n]
^if($n>0){^inner($n-1)}{^missing_inner[]}
@replacement[]
^missing_replacement[]
@expired[error]
^try{^reflection:stack[$error]}{
$exception.handled(true)
$result[$exception.comment]
}
@unhandled_exception[exception;stack]
$exception.handled(true)
$report.top_expired[^expired[$exception]]
$report.propagated_expired[^expired[$propagated]]
^json:string[$report; $.indent(true) ]
E-mail: