mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-12 14:52:33 +07:00
Java control flow: Don't allow extracting method if there's a potential side effect on the local variables in the case of exception thrown (IDEA-79444, IDEA-159916)
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
import java.io.IOException;
|
||||
import java.sql.SQLException;
|
||||
import java.util.concurrent.ThreadLocalRandom;
|
||||
|
||||
class A {
|
||||
void f() {
|
||||
int i = 0;
|
||||
try {
|
||||
i = 1;
|
||||
try {
|
||||
i = 2;
|
||||
if (r()) throw new IOException();
|
||||
<selection>i = 3;
|
||||
if (r()) throw new SQLException();
|
||||
i = 4;</selection>
|
||||
System.out.println("ok");
|
||||
} catch (IOException e) {
|
||||
System.out.println("io " + i);
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
System.out.println("sql " + i);
|
||||
}
|
||||
}
|
||||
|
||||
private boolean r() {
|
||||
return ThreadLocalRandom.current().nextBoolean();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user