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

site-C-ing compile-time exception handling

Similar to preprocessing exceptions there is a wide range of errors you may put into your code which will pass through preprocessor and will be caught later at the compile-time.

Once you complete writing your erroneous code and site-C-ing is done preprocessing it, it will feed the preprocessed code into c++ compiler which will refuse to compile the code like this. This is where the exception handler, specified in the configuration file, takes over the process and gives you the report. Like with any handler, you may wish to set some different handler in your production configuration, which just gives user a friendly yet lame excuse.

Note, that these output pages are fakes -- I do not want to spawn the compiler each time you want to see the output and put this unnecessary load on cpu. These static pages are in fact saved output of the real exception handlers.