1234567891011121314151617181920212223242526272829303132 |
-
- 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);}
- }
|