summaryrefslogtreecommitdiffabout
path: root/htdocs/exceptions/preprocess.chtml
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>&lt;%code&gt;</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 &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>