cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jason von Nieda <ja...@displayware.com>
Subject Re: Throw inside catch skips finally in Flowscript?
Date Wed, 08 Apr 2009 17:06:37 GMT
Reposting this as I never got any kind of response. Are we the first to run
into this bug?

On Wed, Apr 1, 2009 at 11:25 AM, Jason von Nieda <jason@displayware.com>wrote:

> Hi all, I ran into an issue that seems to be pretty serious and I'm having
> a hard time finding any information about it.
> In JavaScript Flowscript using Cocoon 2.1.11 and
> Rhino rhino1.5r4-continuations-R26.jar it seems that throwing an exception
> from within a catch block causes an associated finally block to fail to
> execute. Example:
>
> function test()
> {
> try {
> // this line runs
> Packages.java.lang.System.out.println("test1");
>  throw "moof";
> }
> catch (e) {
> // this line runs
>  Packages.java.lang.System.out.println("test2");
> throw e;
> }
>  finally {
> // this line does not
> Packages.java.lang.System.out.println("test3");
>  }
> }
>
> In the example above, if I remove the throw e; from the catch block the
> finally block runs fine. Additionally, if instead of using throw inside the
> catch I just run some code that causes an exception to be thrown, the
> finally also does not run.
>
> This seems fairly glaring to me, as it makes it impossible to use a catch
> and a finally at the same time.
>
> Can someone tell me if this is a known bug in Cocoon, or Rhino, or
> something else and if there is some information about it? I'm trying to
> decide how to proceed in fixing thousands of lines of Flow.
>
> Thanks,
> Jason von Nieda
>

Mime
View raw message