Tag island inside of tag-based try causes parsing error

Description

<cftry> <cfscript> ``` <p>test tag island</p> ``` </cfscript> <cfcatch type="any">error</cfcatch> </cftry>

Gives this error:

Wrong Context, tag cftry must have at least one tag cfcatch inside or a cffinally tag.

stacktrace:

lucee.runtime.exp.TemplateException: Wrong Context, tag cftry must have at least one tag cfcatch inside or a cffinally tag. at lucee.transformer.cfml.evaluator.impl.Try.evaluate(Try.java:72) at lucee.transformer.cfml.evaluator.EvaluatorSupport.evaluate(EvaluatorSupport.java:71) at lucee.transformer.cfml.evaluator.EvaluatorPool.run(EvaluatorPool.java:79) at lucee.transformer.cfml.tag.CFMLTransformer.transform(CFMLTransformer.java:342) at lucee.transformer.cfml.script.AbstrCFMLScriptTransformer.islandStatement(AbstrCFMLScriptTransformer.java:2014) at lucee.transformer.cfml.script.AbstrCFMLScriptTransformer.statement(AbstrCFMLScriptTransformer.java:241) at lucee.transformer.cfml.script.AbstrCFMLScriptTransformer.statement(AbstrCFMLScriptTransformer.java:220) at lucee.transformer.cfml.script.AbstrCFMLScriptTransformer.statements(AbstrCFMLScriptTransformer.java:203) at lucee.transformer.cfml.script.AbstrCFMLScriptTransformer.statements(AbstrCFMLScriptTransformer.java:187) at lucee.transformer.cfml.script.CFMLScriptTransformer.transform(CFMLScriptTransformer.java:49) at lucee.transformer.cfml.tag.CFMLTransformer.tag(CFMLTransformer.java:717) at lucee.transformer.cfml.tag.CFMLTransformer.body(CFMLTransformer.java:376) at lucee.transformer.cfml.tag.CFMLTransformer.body(CFMLTransformer.java:384) at lucee.transformer.cfml.tag.CFMLTransformer.tag(CFMLTransformer.java:769) at lucee.transformer.cfml.tag.CFMLTransformer.body(CFMLTransformer.java:376) at lucee.transformer.cfml.tag.CFMLTransformer.transform(CFMLTransformer.java:314) at lucee.transformer.cfml.tag.CFMLTransformer.transform(CFMLTransformer.java:306) at lucee.transformer.cfml.tag.CFMLTransformer.transform(CFMLTransformer.java:162) at lucee.runtime.compiler.CFMLCompilerImpl._compile(CFMLCompilerImpl.java:125) at lucee.runtime.compiler.CFMLCompilerImpl.compile(CFMLCompilerImpl.java:76) at lucee.runtime.PageSourceImpl._compile(PageSourceImpl.java:405) at lucee.runtime.PageSourceImpl.compile(PageSourceImpl.java:372)

It's worth noting that this variation using a script-based try/catch works without error

<cfscript> try { ``` <p>test tag island</p> ``` }catch(any e){ writeDump('error') } </cfscript>

Environment

None

Activity

Pothys - MitrahSoft 
8 October 2021 at 08:08

I added a testcase to this ticket

Pull Request: https://github.com/lucee/Lucee/pull/1446

Brad Wood 
7 October 2021 at 13:55

This is still statused as “awaiting approval”. What other information do I need to provide?

Pothys - MitrahSoft 
9 April 2020 at 06:44

I've checked this ticket and confirmed the issue happened on lucee latest version 5.3.6.46-SNAPSHOT also. Tag island is not worked inside tag <cftry>.

Details

Assignee

Reporter

Priority

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

Created 4 March 2020 at 06:21
Updated 14 October 2021 at 20:42