** As throw by afPlastic.constclass PlasticErr : Err {internalnew make(Str msg, Err? cause := null) : super(msg, cause){}}** As throw by `PlasticCompiler` should Fantom code compilation fail.constclass PlasticCompilationErr : PlasticErr, SrcCodeErr {constoverride SrcCodeSnippet srcCodeconstoverride Int errLineNoconstoverride Int linesOfPaddinginternalnew make(SrcCodeSnippet srcCode, Int errLineNo, Str errMsg, Int linesOfPadding) : super(errMsg){this.srcCode = srcCodethis.errLineNo = errLineNothis.linesOfPadding = linesOfPadding} @NoDocoverride Str toStr(){ trace := causeStr trace += snippetStr trace += "Stack Trace:"return trace} @NoDocprotected Str causeStr(){ cause == null ? "${typeof.qname}: ${msg}" : "${cause.typeof.qname}: ${msg}"} @NoDoc Str snippetStr(){ snippet := "\n${typeof.name.toDisplayName}:\n" snippet += toSnippetStrreturn snippet}}** A mixin for Errs that report errors in source code.constmixin SrcCodeErr {** The source code where the error occurred.abstract SrcCodeSnippet srcCode()** The line number in the source code where the error occurred. abstract Int errLineNo()** How many lines of code to show on either side of the error. abstract Int linesOfPadding()** The err msgabstract Str msg() Str toSnippetStr(){ srcCode.srcCodeSnippet(errLineNo, msg, linesOfPadding)}}