summaryrefslogtreecommitdiffabout
path: root/htdocs/exceptions/index.chtml
authorMichael Krelin <hacker@klever.net>2005-01-30 00:57:53 (UTC)
committer Michael Krelin <hacker@klever.net>2005-01-30 00:57:53 (UTC)
commit71f4cc84c3788c6904ede17cd626a9ca9c349e3b (patch) (side-by-side diff)
treecfe7736ae3416ad314b7451b756e587335c357c7 /htdocs/exceptions/index.chtml
parentacd2a536dd6bb3ef9438482725f77ac9044ae79b (diff)
downloadsitecing-71f4cc84c3788c6904ede17cd626a9ca9c349e3b.zip
sitecing-71f4cc84c3788c6904ede17cd626a9ca9c349e3b.tar.gz
sitecing-71f4cc84c3788c6904ede17cd626a9ca9c349e3b.tar.bz2
initial commit into repository
Diffstat (limited to 'htdocs/exceptions/index.chtml') (more/less context) (ignore whitespace changes)
-rw-r--r--htdocs/exceptions/index.chtml52
1 files changed, 52 insertions, 0 deletions
diff --git a/htdocs/exceptions/index.chtml b/htdocs/exceptions/index.chtml
new file mode 100644
index 0000000..cc0ed8a
--- a/dev/null
+++ b/htdocs/exceptions/index.chtml
@@ -0,0 +1,52 @@
+% html(); return; /* vim:set ft=sitecing: */
+%%derive layout = "/ancestry/layout.chtml";
+<%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.
+ </p>
+</%method>