summaryrefslogtreecommitdiffabout
path: root/htdocs/exceptions/index.chtml
authorMichael Krelin <hacker@klever.net>2005-02-03 00:17:58 (UTC)
committer Michael Krelin <hacker@klever.net>2005-02-03 00:17:58 (UTC)
commitd379841850daab4693d596784b790b13e20e3a03 (patch) (side-by-side diff)
treeeafa246cd99308ea349aef90a708ef9f6d7a0418 /htdocs/exceptions/index.chtml
parent870963df2dac72e433fd7f94cd1cccc8cd6ea2d0 (diff)
downloadsitecing-d379841850daab4693d596784b790b13e20e3a03.zip
sitecing-d379841850daab4693d596784b790b13e20e3a03.tar.gz
sitecing-d379841850daab4693d596784b790b13e20e3a03.tar.bz2
1. added a 'browse-through' navigation
2. improved performance by passing -flush to FastCgiExternalServer 3. emphasized links in text
Diffstat (limited to 'htdocs/exceptions/index.chtml') (more/less context) (show whitespace changes)
-rw-r--r--htdocs/exceptions/index.chtml4
1 files changed, 4 insertions, 0 deletions
diff --git a/htdocs/exceptions/index.chtml b/htdocs/exceptions/index.chtml
index cc0ed8a..e66620a 100644
--- a/htdocs/exceptions/index.chtml
+++ b/htdocs/exceptions/index.chtml
@@ -1,50 +1,54 @@
% html(); return; /* vim:set ft=sitecing: */
%%derive layout = "/ancestry/layout.chtml";
+<%constructor>
+ PN_PREV("/simple","simple page","building a really simple page");
+ PN_NEXT("/exceptions/preprocess","preprocess","preprocessing errors");
+</%constructor>
<%codemethod string title() %>
return "exceptions handling";
</%codemethod>
<%method void content() %>
<h1>site-C-ing exception handling</h1>
<p>
The purpose of this section is to give an overview of the <em>site-C-ing</em>
exception handling mechanism. Before the web visitor can see the page each
site-C-ing component goes through a few stages, namely, preprocessing,
compiling and execution. Having three stages to go through also means the
stages one can fail to go through and three exciting opportunities to handle
different errors.
</p>
<p>
First each component is preprocessed so that you can feed the valid c++ code
to the compiler. Here is where the preprocessor can choke at your broken
source code. Once preprocessor failes to parse your code it will throw an
exception which <em>site-C-ing</em> will catch and pass to <a
href="/sources/htdocs/handlers/exception_dev" title="development mode
exception handler source">the exception handler component</a>. Want to <a
href="/exceptions/preprocess">read more</a> about preprocessor exception
handling?
</p>
<p>
After the preprocessing stage is over we have a great opportunity to catch
the compile-time errors. After <em>site-C-ing</em> fails to compile the
component it throws another exception and passes it to the same handler which
may show you some information on what's gone wrong with your source code from
the compiler's perspective. If you've gone this far you definitely want to <a
href="/exceptions/compile">read more</a> about the compiler error handling.
</p>
<p class="note">
Note, that it is likely that you will want to disable the steps above for the
production environment to save time on unnecessary checking whether the
component is up to date.
</p>
<p>
Finally, we need to execute the component and present its output to the web
site visitor. This is also where things may go wrong and here is where your
component may throw an exception for the engine to catch and pass to the
handler. Feel free to <a href="/exceptions/runtime">learn more</a> about it
as well.
</p>
<p class="note">
One more thing you will likely want to have differently in production
environment is <a href="/sources/htdocs/handlers/exception_prod"
title="production mode exception handler source">an exception handler</a>
which will not give out that much unnecessary information to the user.