diff options
Diffstat (limited to 'tests/bugs/GetCauseOnSoftException.java')
-rw-r--r-- | tests/bugs/GetCauseOnSoftException.java | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/bugs/GetCauseOnSoftException.java b/tests/bugs/GetCauseOnSoftException.java new file mode 100644 index 000000000..125fce88c --- /dev/null +++ b/tests/bugs/GetCauseOnSoftException.java @@ -0,0 +1,32 @@ + +import org.aspectj.lang.*; + +public class GetCauseOnSoftException { + + public static void a(){ + b(); + } + /** + * Method b. + */ + private static void b() { + throw new MyException("secret"); + } + + public static void main(String[] args) { + try { + a(); + } catch (SoftException e) { + System.out.println(e.getCause()); + if (e.getCause().getMessage().indexOf("secret")==-1) + throw new RuntimeException("Didn't get expected cause of SoftException"); + } + } +} +aspect Softner { + declare soft : MyException : within(GetCauseOnSoftException); +} + +class MyException extends Exception { + MyException(String s) { super(s);} +}
\ No newline at end of file |