Community
Participate
Working Groups
Eclipse 3.1, AJDT 1.3.0.20050824175147 Platform linux fedora core 4; java jvm 1.5.0-rc-b63 Files to be attached. When TranTest class is run, the following exception is received: Exception in thread "main" java.lang.VerifyError: (class: all/mymoney/TransTest, method: go signature: ()V) catch_type not a subclass of Throwable For javax.ejb.TransactionAttribute I used glassfish (9.0-b09) lib/j2ee.jar.
Created attachment 26435 [details] TransTest.java source code
Created attachment 26436 [details] TransTest.class binary
Created attachment 26437 [details] aspect file: TransactionManager
Sorry, wrong product. Refiled to AJDT.
This probably belongs against the compiler
compiler now says: "throwing formal 'RuntimeException' must be declared as the last parameter in the advice signature" (the program should be of the form @AfterThrowing(pointcut="...", throwing="ex") void adviceMethod(RuntimeException ex) {...} ) catching this error early prevents the downstream error of treating the pointcut formal (attr) as if it were the thrown exception formal, with the results described in this report. Alex, I'm assigning to you as I'm not sure this is fully finished: I've put guards in for after throwing and after returning, both in the ajc front-end and in the weaver for javac compiled @Aspects. However, the weaver guards rely on debug info having been left in the source file in order to find the matching parameter (not a lot we can do about that I don't think), and have a poor line number when the error is issued. I also restricted the extraArg to being the last parameter in the advice signature, but that may have been stricter than necessary?
*** Bug 107956 has been marked as a duplicate of this bug. ***
raising to P2
close for M4 extra formal can be anywhere in signature - checks will be done
LATER/REMIND bugs are being automatically reopened as P5 because the LATER and REMIND resolutions are deprecated.