summaryrefslogtreecommitdiffabout
path: root/htdocs/exceptions/compile.chtml
Side-by-side diff
Diffstat (limited to 'htdocs/exceptions/compile.chtml') (more/less context) (ignore whitespace changes)
-rw-r--r--htdocs/exceptions/compile.chtml50
1 files changed, 50 insertions, 0 deletions
diff --git a/htdocs/exceptions/compile.chtml b/htdocs/exceptions/compile.chtml
new file mode 100644
index 0000000..90ee7d8
--- a/dev/null
+++ b/htdocs/exceptions/compile.chtml
@@ -0,0 +1,50 @@
+% html(); return; /* vim:set ft=sitecing: */
+%%derive layout = "/ancestry/layout.chtml";
+<%constructor>
+ b_strict = false;
+</%constructor>
+<%codemethod string title() %>
+ return "compile-time exceptions handling";
+</%codemethod>
+<%method void content() %>
+ <h1>site-C-ing compile-time exception handling</h1>
+ <p>
+ Similar to <a href="/exceptions/preprocess">preprocessing exceptions</a>
+ 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.
+ </p>
+ <p>
+ Once you complete writing your <a
+ href="/view/htdocs/exceptions/development/compile.chtml" target="insert"
+ title="the link opens in the frame below">erroneous code</a> and
+ <em>site-C-ing</em> 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 <a href="/view/htdocs/handlers/exception_dev" target="insert"
+ title="the link opens in the frame below">the exception handler</a>,
+ specified in <a href="/view/htdocs/exceptions/development/.scrc"
+ target="insert" title="the link opens in the frame below">the configuration
+ file</a>, takes over the process and gives you <a
+ href="/exceptions/development/compile" target="insert" title="the link opens
+ in the frame below">the report</a>. Like with any handler, you may wish to
+ set some <a href="/view/htdocs/handlers/exception_prod" target="insert"
+ title="the link opens in the frame below">different handler</a> in your <a
+ href="/view/htdocs/exceptions/production/.scrc" target="insert" title="the
+ link opens in the frame below">production configuration</a>, which just gives
+ user <a href="/exceptions/production/preprocess" target="insert" title="the
+ link opens in the frame below">a friendly yet lame excuse</a>.
+ </p>
+ <p class="note">
+ 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.
+ </p>
+
+ <div class="insert">
+ <iframe id="insert" name="insert" src="about:blank" width="95%" height="300" border="1">
+ <p>I wanted to put an &lt;iframe&gt; here, but your browser does not seem to
+ support it. That is okay, it still will open links somehow.</p>
+ </iframe>
+ </div>
+
+</%method>