throw new TemplateCompilationException( t, e.oneBasedLineNo, e.specialMessage);
} catch (GTRuntimeExceptionWithSourceInfo e){
GTTemplate t = new GTTemplate(e.templateLocation);
t.loadSource();
Throwable cause = e.getCause();
throw new TemplateExecutionException( t, e.lineNo, cause.getMessage(), cause);
} catch ( GTRuntimeException e) {
Throwable cause = e.getCause();
this.loadSource();
if (cause != null) {
throw new TemplateExecutionException(this, 0, cause.getMessage(), cause);
} else {
throw new TemplateExecutionException(this, 0, e.getMessage(), e);
}
} catch (GTAppClassException e) {
throw new JavaExecutionException(Play.classes.getApplicationClass(e.className), e.lineNo, e.getCause());
}