** 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 errLineNoprivateconst Int linesOfPaddinginternalnew make(SrcCodeSnippet srcCode, Int errLineNo, Str errMsg, Int linesOfPadding) : super(errMsg){this.srcCode = srcCodethis.errLineNo = errLineNothis.linesOfPadding = linesOfPadding}override Str toStr(){ print(msg, linesOfPadding)}}** 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() Str print(Str msg, Int linesOfPadding){ buf := StrBuf() buf.add("${typeof.qname}: ${msg}\n") buf.add("\n${typeof.name.toDisplayName}:\n") buf.add(srcCode.srcCodeSnippet(linesOfPadding, msg, linesOfPadding)) buf.add("\nStack Trace:")return buf.toStr}}