blob: 85161399a19a3329b703174ab1cc172f9203b0ae (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
% html(); return; /* vim:set ft=sitecing: */
%%derive layout = "/ancestry/layout.chtml";
<%constructor>
b_strict = false;
</%constructor>
<%codemethod string title() %>
return "preprocessor exceptions handling";
</%codemethod>
<%method void content() %>
<h1>site-C-ing preprocessor exception handling</h1>
<p>
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 <a
href="/view/htdocs/exceptions/development/preprocess.chtml" target="insert"
title="the link opens in the frame below">this</a> -- by the time you were
about to close your <code><%code></code> block you were thinking about
some constructor in some component elsewhere in the universe.
</p>
<p>
<em>site-C-ing</em> parser will see the inconsistency and throw an exception
which will be caught and passed to <a
href="/view/htdocs/handlers/exception_dev" target="insert" title="the link
opens in the frame below">the 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>, which will produce
some nice, human-readable <a href="/exceptions/development/preprocess"
target="insert" title="the link opens in the frame below">output</a>. Well,
you may not wish to give out all this information in the production
environment, so you just put in your <a
href="/view/htdocs/exceptions/production/.scrc" target="insert" title="the
link opens in the frame below">configuration file</a> some <a
href="/view/htdocs/handlers/exception_prod" target="insert" title="the link
opens in the frame below">different handler</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>
<div class="insert">
<iframe id="insert" name="insert" src="about:blank" width="95%" height="300">
<p>I wanted to put an <iframe> here, but your browser does not seem to
support it. That is okay, it still will open links somehow.</p>
</iframe>
</div>
</%method>
|