Use of In-line Syntax Error Messages into Templates

Use of In-line Syntax Error Messages into Templates

By default, Document Assembler throws an exception when encounters a template syntax error. Such an exception provides information on a reason of the error and specifies a tag or expression part where the error is encountered. In most cases, this information is enough to find a place in a template causing the error and fix it.

However, when dealing with complex templates containing a large number of tags, it becomes harder to find an exact place in a template causing an error. To make things easier, the engine supports the DocumentAssemblyOptions.INLINE_ERROR_MESSAGES option that enables in-lining of a syntax error message into a template document at an exact position where the error occurs during run-time.

Consider the following template.

<<var [name]>>

By default, such a template causes the engine to throw an exception while building a report. However, when DocumentAssemblyOptions.INLINE_ERROR_MESSAGES is applied, no exception is thrown and the report looks as follows then.

<<var [name] Error! An assignment operator is expected. >>

When DocumentAssemblyOptions.INLINE_ERROR_MESSAGES is applied, a Boolean value returned by a  DocumentAssembler.assembleDocument overload indicates whether building of a report was finished successfully or was interrupted because of a template syntax error. This enables you to process reports which building succeeded or failed differently as shown in the following code snippet.

Download Demo File

Please download the sample demo document files: