Diffstat (limited to 'htdocs/exceptions/index.chtml') (more/less context) (ignore whitespace changes)
-rw-r--r-- | htdocs/exceptions/index.chtml | 4 |
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,52 +1,56 @@ | |||
1 | % html(); return; /* vim:set ft=sitecing: */ | 1 | % html(); return; /* vim:set ft=sitecing: */ |
2 | %%derive layout = "/ancestry/layout.chtml"; | 2 | %%derive layout = "/ancestry/layout.chtml"; |
3 | <%constructor> | ||
4 | PN_PREV("/simple","simple page","building a really simple page"); | ||
5 | PN_NEXT("/exceptions/preprocess","preprocess","preprocessing errors"); | ||
6 | </%constructor> | ||
3 | <%codemethod string title() %> | 7 | <%codemethod string title() %> |
4 | return "exceptions handling"; | 8 | return "exceptions handling"; |
5 | </%codemethod> | 9 | </%codemethod> |
6 | <%method void content() %> | 10 | <%method void content() %> |
7 | <h1>site-C-ing exception handling</h1> | 11 | <h1>site-C-ing exception handling</h1> |
8 | <p> | 12 | <p> |
9 | The purpose of this section is to give an overview of the <em>site-C-ing</em> | 13 | The purpose of this section is to give an overview of the <em>site-C-ing</em> |
10 | exception handling mechanism. Before the web visitor can see the page each | 14 | exception handling mechanism. Before the web visitor can see the page each |
11 | site-C-ing component goes through a few stages, namely, preprocessing, | 15 | site-C-ing component goes through a few stages, namely, preprocessing, |
12 | compiling and execution. Having three stages to go through also means the | 16 | compiling and execution. Having three stages to go through also means the |
13 | stages one can fail to go through and three exciting opportunities to handle | 17 | stages one can fail to go through and three exciting opportunities to handle |
14 | different errors. | 18 | different errors. |
15 | </p> | 19 | </p> |
16 | <p> | 20 | <p> |
17 | First each component is preprocessed so that you can feed the valid c++ code | 21 | First each component is preprocessed so that you can feed the valid c++ code |
18 | to the compiler. Here is where the preprocessor can choke at your broken | 22 | to the compiler. Here is where the preprocessor can choke at your broken |
19 | source code. Once preprocessor failes to parse your code it will throw an | 23 | source code. Once preprocessor failes to parse your code it will throw an |
20 | exception which <em>site-C-ing</em> will catch and pass to <a | 24 | exception which <em>site-C-ing</em> will catch and pass to <a |
21 | href="/sources/htdocs/handlers/exception_dev" title="development mode | 25 | href="/sources/htdocs/handlers/exception_dev" title="development mode |
22 | exception handler source">the exception handler component</a>. Want to <a | 26 | exception handler source">the exception handler component</a>. Want to <a |
23 | href="/exceptions/preprocess">read more</a> about preprocessor exception | 27 | href="/exceptions/preprocess">read more</a> about preprocessor exception |
24 | handling? | 28 | handling? |
25 | </p> | 29 | </p> |
26 | <p> | 30 | <p> |
27 | After the preprocessing stage is over we have a great opportunity to catch | 31 | After the preprocessing stage is over we have a great opportunity to catch |
28 | the compile-time errors. After <em>site-C-ing</em> fails to compile the | 32 | the compile-time errors. After <em>site-C-ing</em> fails to compile the |
29 | component it throws another exception and passes it to the same handler which | 33 | component it throws another exception and passes it to the same handler which |
30 | may show you some information on what's gone wrong with your source code from | 34 | may show you some information on what's gone wrong with your source code from |
31 | the compiler's perspective. If you've gone this far you definitely want to <a | 35 | the compiler's perspective. If you've gone this far you definitely want to <a |
32 | href="/exceptions/compile">read more</a> about the compiler error handling. | 36 | href="/exceptions/compile">read more</a> about the compiler error handling. |
33 | </p> | 37 | </p> |
34 | <p class="note"> | 38 | <p class="note"> |
35 | Note, that it is likely that you will want to disable the steps above for the | 39 | Note, that it is likely that you will want to disable the steps above for the |
36 | production environment to save time on unnecessary checking whether the | 40 | production environment to save time on unnecessary checking whether the |
37 | component is up to date. | 41 | component is up to date. |
38 | </p> | 42 | </p> |
39 | <p> | 43 | <p> |
40 | Finally, we need to execute the component and present its output to the web | 44 | Finally, we need to execute the component and present its output to the web |
41 | site visitor. This is also where things may go wrong and here is where your | 45 | site visitor. This is also where things may go wrong and here is where your |
42 | component may throw an exception for the engine to catch and pass to the | 46 | component may throw an exception for the engine to catch and pass to the |
43 | handler. Feel free to <a href="/exceptions/runtime">learn more</a> about it | 47 | handler. Feel free to <a href="/exceptions/runtime">learn more</a> about it |
44 | as well. | 48 | as well. |
45 | </p> | 49 | </p> |
46 | <p class="note"> | 50 | <p class="note"> |
47 | One more thing you will likely want to have differently in production | 51 | One more thing you will likely want to have differently in production |
48 | environment is <a href="/sources/htdocs/handlers/exception_prod" | 52 | environment is <a href="/sources/htdocs/handlers/exception_prod" |
49 | title="production mode exception handler source">an exception handler</a> | 53 | title="production mode exception handler source">an exception handler</a> |
50 | which will not give out that much unnecessary information to the user. | 54 | which will not give out that much unnecessary information to the user. |
51 | </p> | 55 | </p> |
52 | </%method> | 56 | </%method> |