summaryrefslogtreecommitdiffabout
path: root/htdocs/exceptions/runtime.chtml
blob: 9a72afdf9b6759cee652c178ac3b5a825596f388 (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
47
48
49
% html(); return; /* vim:set ft=sitecing: */
%%derive layout = "/ancestry/layout.chtml";
<%constructor>
 b_strict = false;
 PN_PREV("/exceptions/compile","compile-time","compile-time errors");
 PN_NEXT("/sources","sources","source browser");
</%constructor>
<%codemethod string title() %>
 return "runtime exceptions handling";
</%codemethod>
<%method void content() %>
 <h1>site-C-ing runtime exception handling</h1>
 <p>
  The component may throw an exception while executing and the
  <em>site-C-ing</em> will gladly pass it to the handler component which will
  give the user appropriate output (unless it throws an exception itself, of
  course). Here you will see an example output provided by the handler bundled
  with the <em>site-C-ing</em>.
 </p>

 <p>
  Suppose you have <a href="/view/htdocs/exceptions/development/runtime.chtml"
  target="insert" title="the link opens in the frame below">a component</a>,
  which at some point throws an exception. Of course, <em>site-C-ing</em> will
  catch the exception and pass it 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/runtime"
  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/runtime" 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>