blob: 47568e92d1b73f9866325bdba9e2ea3b47dd666e [file] [log] [blame]
adminb0dd10f2006-08-25 17:25:49 +00001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html>
3<head>
4
5<title>Code Igniter User Guide</title>
6
7<style type='text/css' media='all'>@import url('../userguide.css');</style>
8<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />
9
admin17a890d2006-09-27 20:42:42 +000010<script type="text/javascript" src="../nav/nav.js"></script>
adminb0dd10f2006-08-25 17:25:49 +000011<script type="text/javascript" src="../scripts/prototype.lite.js"></script>
admin17a890d2006-09-27 20:42:42 +000012<script type="text/javascript" src="../nav/moo.fx.js"></script>
adminb0dd10f2006-08-25 17:25:49 +000013<script type="text/javascript">
14window.onload = function() {
15 myHeight = new fx.Height('nav', {duration: 400});
16 myHeight.hide();
17}
18</script>
19
20<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
21<meta http-equiv='expires' content='-1' />
22<meta http-equiv= 'pragma' content='no-cache' />
23<meta name='robots' content='all' />
24<meta name='author' content='Rick Ellis' />
25<meta name='description' content='Code Igniter User Guide' />
26
27</head>
28<body>
29
30<!-- START NAVIGATION -->
31<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
32<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle.jpg" width="153" height="44" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>
33<div id="masthead">
34<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
35<tr>
admin41a16852006-09-26 18:17:19 +000036<td><h1>Code Igniter User Guide Version 1.5.0</h1></td>
adminb0dd10f2006-08-25 17:25:49 +000037<td id="breadcrumb_right"><a href="../toc.html">Full Table of Contents</a></td>
38</tr>
39</table>
40</div>
41<!-- END NAVIGATION -->
42
43
44<!-- START BREADCRUMB -->
45<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
46<tr>
47<td id="breadcrumb">
48<a href="http://www.codeigniter.com/">Code Igniter Home</a> &nbsp;&#8250;&nbsp;
49<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;
50Error Handling
51</td>
52<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="www.codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td>
53</tr>
54</table>
55<!-- END BREADCRUMB -->
56
57<br clear="all" />
58
59
60<!-- START CONTENT -->
61<div id="content">
62
63<h1>Error Handling</h1>
64
65<p>Code Igniter lets you build error reporting into your applications using the functions described below.
66In addition, it has an error logging class that permits error and debugging messages to be saved as text files.</p>
67
68<p class="important"><strong>Note:</strong> By default, Code Igniter displays all PHP errors. You might
69wish to change this behavior once your development is complete. You'll find the <dfn>error_reporting()</dfn>
70function located at the top of your main index.php file. Disabling error reporting will NOT prevent log files
71from being written if there are errors.</p>
72
73<p>Unlike most systems in Code Igniter, the error functions are simple procedural interfaces that are available
74globally throughout the application. This approach permits error messages to get triggered without having to worry
75about class/function scoping.</p>
76
77<p>The following functions let you generate errors:</p>
78
79<h2>show_error('<var>message</var>')</h2>
80<p>This function will display the error message supplied to it using the following error template:</p>
81<p><dfn>application/errors/</dfn><kbd>error_general.php</kbd></p>
82
83<h2>show_404('<var>page</var>')</h2>
84<p>This function will display the 404 error message supplied to it using the following error template:</p>
85<p><dfn>application/errors/</dfn><kbd>error_404.php</kbd></p>
86
87<p>The function expects the string passed to it to be the file path to the page that isn't found.
88Note that Code Igniter automatically shows 404 messages if controllers are not found.</p>
89
90
91<h2>log_message('<var>level</var>', '<samp>message</samp>')</h2>
92
93<p>This function lets you write messages to your log files. You must supply one of three "levels"
94in the first parameter, indicating what type of message it is (debug, error, info), with the message
95itself in the second parameter. Example:</p>
96
97<code>
98if ($some_var == "")<br />
99{<br />
100&nbsp;&nbsp;&nbsp;&nbsp;log_message('error', 'Some variable did not contain a value.');<br />
101}<br />
102else<br />
103{<br />
104&nbsp;&nbsp;&nbsp;&nbsp;log_message('debug', 'Some variable was correctly set');<br />
105}<br />
106<br />
107log_message('info', 'The purpose of some variable is to provide some value.');<br />
108</code>
109
110<p>There are three message types:</p>
111
112<ol>
113<li>Error Messages. These are actual errors, such as PHP errors or user errors.</li>
114<li>Debug Messages. These are messages that assist in debugging. For example, if a class has been initialized, you could log this as debugging info.</li>
115<li>Informational Messages. These are the lowest priority messages, simply giving information regarding some process. Code Igniter doesn't natively generate any info messsages but you may want to in your application.</li>
116</ol>
117
118
119<p class="important"><strong>Note:</strong> In order for the log file to actually be written, the "log_errors"
120option must be enabled in your <kbd>application/config/config.php</kbd> file, and the "logs" folder must be writable.
121In addition, you'll can set the "threshold" for logging.
122You might, for example, only want error messages to be logged, and not the other two types.</p>
123
124
125
126</div>
127<!-- END CONTENT -->
128
129
130<div id="footer">
131<p>
132Previous Topic:&nbsp;&nbsp;<a href="routing.html">URI Routing</a>
133&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
134<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
135<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
136Next Topic:&nbsp;&nbsp;<a href="caching.html">Page Caching</a>
137<p>
138<p><a href="http://www.codeigniter.com">Code Igniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 &nbsp;&middot;&nbsp; <a href="http://www.pmachine.com">pMachine, Inc.</a></p>
139</div>
140
141</body>
142</html>