DescriptionProperly process try/finally blocks.
In some circumstances, try/finally block can actually catch the exception:
function f() {
try {
throw 42;
} finally {
return 0;
}
}
Therefore when propagating exception to v8::TryCatch, we must be sure
there is no try/finally blocks as well.
When bulding the messages we should be more conservative and expect that
any v8::TryCatch with no JS try/catch in between can potentionally
be the right exception handler.
Plus various minor refactorings.
BUG=1147
TEST=cctest/test-api/TryCatchAndFinallyHidingException, cctest/test-api/TryCatchAndFinally
Committed: http://code.google.com/p/v8/source/detail?r=6809
Patch Set 1 #Patch Set 2 : Some more asserts #
Total comments: 6
Patch Set 3 : Addressing Mads' comments #
Messages
Total messages: 3 (0 generated)
|