mirror of
https://github.com/github/codeql.git
synced 2025-12-19 18:33:16 +01:00
31 lines
646 B
Java
31 lines
646 B
Java
public class SchackTest {
|
|
class ExA extends Throwable {}
|
|
class ExB extends Throwable {}
|
|
|
|
void foo(int x) {
|
|
try {
|
|
try {
|
|
if (x==1)
|
|
throw new ExA();
|
|
if (x==2)
|
|
return;
|
|
} finally {
|
|
if (bar())
|
|
System.out.println("true successor");
|
|
}
|
|
System.out.println("false successor");
|
|
} catch (ExA e) {
|
|
System.out.println("false successor");
|
|
} catch (ExB e) {
|
|
System.out.println("successor (but neither true nor false successor)");
|
|
} finally {
|
|
System.out.println("false successor");
|
|
}
|
|
}
|
|
|
|
private boolean bar() throws ExB {
|
|
if (Math.random() > .5)
|
|
throw new ExB();
|
|
return Math.random() > .3;
|
|
}
|
|
} |