improve AbstrCFMLScriptTransformer templateExceptions

Description

often they have no context, especially in stacktraces

the new addContext is good, but it throws away the line and col number when sourceCode isn’t PageSourceCode

https://github.com/lucee/Lucee/commit/778314d3c4b64b83fe5868324741a523bba2f741

solving this would help solve mysteries like this vague error

https://dev.lucee.org/t/commandbox-run-error-turkish/8254

C:\box_sade>box javax.script.ScriptException: lucee.runtime.exp.TemplateException: Missing [;] or [line feed] after expression at lucee.transformer.cfml.script.AbstrCFMLScriptTransformer.checkSemiColonLineFeed(AbstrCFMLScriptTransformer.java:2308) at lucee.transformer.cfml.script.AbstrCFMLScriptTransformer.expressionStatement(AbstrCFMLScriptTransformer.java:2260) at lucee.transformer.cfml.script.AbstrCFMLScriptTransformer.statement(AbstrCFMLScriptTransformer.java:254) at lucee.transformer.cfml.script.AbstrCFMLScriptTransformer.statement(AbstrCFMLScriptTransformer.java:223) at lucee.transformer.cfml.script.AbstrCFMLScriptTransformer.statements(AbstrCFMLScriptTransformer.java:206) at lucee.transformer.cfml.script.AbstrCFMLScriptTransformer.statements(AbstrCFMLScriptTransformer.java:190) at lucee.transformer.cfml.script.CFMLScriptTransformer.transform(CFMLScriptTransformer.java:49) at lucee.transformer.cfml.tag.CFMLTransformer.tag(CFMLTransformer.java:730) at lucee.transformer.cfml.tag.CFMLTransformer.body(CFMLTransformer.java:389) at lucee.transformer.cfml.tag.CFMLTransformer.transform(CFMLTransformer.java:327) at lucee.transformer.cfml.tag.CFMLTransformer.transform(CFMLTransformer.java:319) at lucee.runtime.compiler.CFMLCompilerImpl._compile(CFMLCompilerImpl.java:105) at lucee.runtime.compiler.CFMLCompilerImpl.compile(CFMLCompilerImpl.java:85) at lucee.runtime.compiler.Renderer.loadClass(Renderer.java:65) at lucee.runtime.compiler.Renderer.loadPage(Renderer.java:88) at lucee.runtime.compiler.Renderer.tag(Renderer.java:107) at lucee.runtime.compiler.Renderer.script(Renderer.java:97) at lucee.runtime.jsr223.ScriptEngineImpl.eval(ScriptEngineImpl.java:65) at lucee.runtime.jsr223.ScriptEngineImpl.eval(ScriptEngineImpl.java:220) at cliloader.LoaderCLIMain.execute(LoaderCLIMain.java:339) at cliloader.LoaderCLIMain.execute(LoaderCLIMain.java:158) at cliloader.LoaderCLIMain.main(LoaderCLIMain.java:595)

being jsr223 and eval doesn’t help

Activity

Pothys - MitrahSoft 
30 April 2025 at 07:36

I've checked this ticket, and the exception message has now been updated.
https://github.com/lucee/Lucee/commit/19d4eb50c6ca4e61854af75914e01bccea868fdd

Zac Spitzer 
12 April 2025 at 07:45
(edited)

[script] lucee.runtime.exp.TemplateException: Syntax Error, Invalid Construct; Failed at line: 11, column: 1 [script] at lucee.transformer.cfml.expression.AbstrCFMLExprTransformer.checker(AbstrCFMLExprTransformer.java:1064) [script] at lucee.transformer.cfml.expression.AbstrCFMLExprTransformer.clip(AbstrCFMLExprTransformer.java:953) [script] at lucee.transformer.cfml.expression.AbstrCFMLExprTransformer.negatePlusMinusOp(AbstrCFMLExprTransformer.java:941) [script] at lucee.transformer.cfml.expression.AbstrCFMLExprTransformer.unaryOp(AbstrCFMLExprTransformer.java:884) [script] at lucee.transformer.cfml.expression.AbstrCFMLExprTransformer.expoOp(AbstrCFMLExprTransformer.java:873)

we don’t have the path as the source is eval-ed, but now the error includes the line:col as a more helpful clue

Fixed

Details

Assignee

Reporter

New Issue warning screen

Before you create a new Issue, please post to the mailing list first https://dev.lucee.org

Once the issue has been verified, one of the Lucee team will ask you to file an issue

Sprint

Fix versions

Priority

Created 11 April 2025 at 22:12
Updated 30 April 2025 at 07:36
Resolved 30 April 2025 at 07:36