% html(); return; /* vim:set ft=sitecing: */ %%derive layout = "/ancestry/layout.chtml"; <%constructor> b_strict = false; PN_PREV("/exceptions","exceptions","exception handling overview"); PN_NEXT("/exceptions/compile","compile-time","compile-time errors"); <%codemethod string title() %> return "preprocessor exceptions handling"; <%method void content() %>

site-C-ing preprocessor exception handling

It was one of those days when you just can't type right and can't think of what you're typing. It is not unusual that, under such circumstances, you end up with a code like this -- by the time you were about to close your <%code> block you were thinking about some constructor in some component elsewhere in the universe.

site-C-ing parser will see the inconsistency and throw an exception which will be caught and passed to the handler, specified in the configuration file, which will produce some nice, human-readable output. Well, you may not wish to give out all this information in the production environment, so you just put in your configuration file some different handler, which just gives user a friendly yet lame excuse.