From 779508ef61feec261be62b81bf7db8f94669a4d3 Mon Sep 17 00:00:00 2001 From: "Egor.Ushakov" Date: Fri, 28 Mar 2014 16:35:22 +0400 Subject: [PATCH] do not stop in case of exceptions in position managers impls --- .../engine/CompoundPositionManager.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/java/debugger/impl/src/com/intellij/debugger/engine/CompoundPositionManager.java b/java/debugger/impl/src/com/intellij/debugger/engine/CompoundPositionManager.java index 70cb4b11570f..c890d1459cf8 100644 --- a/java/debugger/impl/src/com/intellij/debugger/engine/CompoundPositionManager.java +++ b/java/debugger/impl/src/com/intellij/debugger/engine/CompoundPositionManager.java @@ -60,44 +60,56 @@ public class CompoundPositionManager extends PositionManagerEx { } catch (NoDataException ignored) { } + catch (Exception e) { + LOG.error(e); + } } return null; } @Override @NotNull - public List getAllClasses(SourcePosition classPosition) { + public List getAllClasses(@NotNull SourcePosition classPosition) { for (PositionManager positionManager : myPositionManagers) { try { return positionManager.getAllClasses(classPosition); } catch (NoDataException ignored) { } + catch (Exception e) { + LOG.error(e); + } } return Collections.emptyList(); } @Override @NotNull - public List locationsOfLine(ReferenceType type, SourcePosition position) { + public List locationsOfLine(@NotNull ReferenceType type, @NotNull SourcePosition position) { for (PositionManager positionManager : myPositionManagers) { try { return positionManager.locationsOfLine(type, position); } catch (NoDataException ignored) { } + catch (Exception e) { + LOG.error(e); + } } return Collections.emptyList(); } @Override - public ClassPrepareRequest createPrepareRequest(ClassPrepareRequestor requestor, SourcePosition position) { + public ClassPrepareRequest createPrepareRequest(@NotNull ClassPrepareRequestor requestor, @NotNull SourcePosition position) { for (PositionManager positionManager : myPositionManagers) { try { return positionManager.createPrepareRequest(requestor, position); } catch (NoDataException ignored) { } + catch (Exception e) { + LOG.error(e); + } } return null;