bubble PCE from writeAndHandleErrors() to avoid VFS hard crash when executing jar.list() under canceled progress (IDEA-CR-61522)

GitOrigin-RevId: 001f13df68ab25c9da283c1b7c5f34e8e918e8c8
This commit is contained in:
Alexey Kudravtsev
2020-04-15 23:02:02 +00:00
committed by intellij-monorepo-bot
parent 166d819cf1
commit b57eab1e37
@@ -6,6 +6,7 @@ import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ApplicationNamesInfo;
import com.intellij.openapi.application.PathManager;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.progress.ProcessCanceledException;
import com.intellij.openapi.util.Disposer;
import com.intellij.openapi.util.ThrowableComputable;
import com.intellij.openapi.util.io.BufferExposingByteArrayOutputStream;
@@ -967,6 +968,10 @@ public class FSRecords {
w.lock();
return action.compute();
}
catch (ProcessCanceledException e) {
// now JarFileSystem list methods can be interrupted now
throw e;
}
catch (Throwable e) {
DbConnection.handleError(e);
throw new RuntimeException(e);
@@ -980,6 +985,10 @@ public class FSRecords {
w.lock();
action.run();
}
catch (ProcessCanceledException e) {
// now JarFileSystem list methods can be interrupted now
throw e;
}
catch (Throwable e) {
DbConnection.handleError(e);
throw new RuntimeException(e);