diff --git a/src/main/java/spoon/Launcher.java b/src/main/java/spoon/Launcher.java index d7b30a0381a..300313f50c7 100644 --- a/src/main/java/spoon/Launcher.java +++ b/src/main/java/spoon/Launcher.java @@ -771,7 +771,14 @@ public void prettyprint() { try { modelBuilder.generateProcessedSourceFiles(getEnvironment().getOutputType(), typeFilter); } catch (Exception e) { - throw new SpoonException(e); + if (! (e instanceof SpoonException)) { + // contract: we encapuslate all Spoon exceptions into + // a single type + throw new SpoonException(e); + } else { + // don't wrap a SpoonException into another useless one + throw e; + } } if (!getEnvironment().getOutputType().equals(OutputType.NO_OUTPUT) && getEnvironment().isCopyResources()) {