diff --git a/platform/diff-api/src/com/intellij/diff/comparison/DiffTooBigException.java b/platform/diff-api/src/com/intellij/diff/comparison/DiffTooBigException.java index fca771012ad9..9e3bedc3a293 100644 --- a/platform/diff-api/src/com/intellij/diff/comparison/DiffTooBigException.java +++ b/platform/diff-api/src/com/intellij/diff/comparison/DiffTooBigException.java @@ -23,11 +23,6 @@ public class DiffTooBigException extends ProcessCanceledException { public DiffTooBigException() { } - public DiffTooBigException(Throwable cause) { - super(cause); - } - - @Override public String getMessage() { return MESSAGE; diff --git a/platform/util/src/com/intellij/openapi/progress/ProcessCanceledException.java b/platform/util/src/com/intellij/openapi/progress/ProcessCanceledException.java index f19097268004..598fd86f2c61 100644 --- a/platform/util/src/com/intellij/openapi/progress/ProcessCanceledException.java +++ b/platform/util/src/com/intellij/openapi/progress/ProcessCanceledException.java @@ -23,5 +23,8 @@ public class ProcessCanceledException extends RuntimeException implements Contro public ProcessCanceledException(@NotNull Throwable cause) { super(cause); + if (cause instanceof ProcessCanceledException) { + throw new IllegalArgumentException("Must not self-wrap ProcessCanceledException: " + cause); + } } } diff --git a/platform/util/src/com/intellij/openapi/util/objectTree/ObjectNode.java b/platform/util/src/com/intellij/openapi/util/objectTree/ObjectNode.java index 118f20c3de3e..07830ad6d335 100644 --- a/platform/util/src/com/intellij/openapi/util/objectTree/ObjectNode.java +++ b/platform/util/src/com/intellij/openapi/util/objectTree/ObjectNode.java @@ -133,7 +133,7 @@ final class ObjectNode { myTree.fireExecuted(myObject); } catch (ProcessCanceledException e) { - throw new ProcessCanceledException(e); + throw e; } catch (Throwable e) { LOG.error(e);