mirror of
https://github.com/eclipse-aspectj/aspectj.git
synced 2024-07-25 22:34:45 +02:00
32 lines
629 B
Java
32 lines
629 B
Java
|
|
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);}
|
|
} |