Files
codeql/java/ql/test/query-tests/Finally/Finally.java
2018-08-30 10:48:05 +01:00

133 lines
1.6 KiB
Java

class InFinally {
void returnVoidInFinally() {
try {
} finally {
return;
}
}
int returnIntInFinally(boolean b1, boolean b2) {
try {
if (b1) {
return 4;
}
} finally {
if (b2) {
return 5;
}
}
return 3;
}
int throwInFinally(boolean b1, boolean b2) {
try {
if (b1) {
throw new RuntimeException("Foo 1");
}
} finally {
if (b2) {
throw new RuntimeException("Foo 2");
}
}
throw new RuntimeException("Foo 3");
}
void breakInFinally(boolean b) {
for (int i = 0; i < 10; i++) {
if(b) {
break;
}
}
try {
for (int i = 0; i < 10; i++) {
if(b) {
break;
}
}
} finally {
for (int i = 0; i < 10; i++) {
if(b) {
break;
}
}
}
for (int i = 0; i < 10; i++) {
try {
if(b) {
break;
}
} finally {
if(b) {
break;
}
}
}
try {
} finally {
for (int i = 0; i < 10; i++) {
try {
if(b) {
break;
}
} finally {
if(b) {
break;
}
}
}
}
}
void continueInFinally(boolean b) {
for (int i = 0; i < 10; i++) {
if(b) {
continue;
}
}
try {
for (int i = 0; i < 10; i++) {
if(b) {
continue;
}
}
} finally {
for (int i = 0; i < 10; i++) {
if(b) {
continue;
}
}
}
for (int i = 0; i < 10; i++) {
try {
if(b) {
continue;
}
} finally {
if(b) {
continue;
}
}
}
try {
} finally {
for (int i = 0; i < 10; i++) {
try {
if(b) {
continue;
}
} finally {
if(b) {
continue;
}
}
}
}
}
}