diff options
author | Joël Cox <joel@joelcox.nl> | 2011-10-09 18:45:09 +0200 |
---|---|---|
committer | Joël Cox <joel@joelcox.nl> | 2011-10-09 18:45:09 +0200 |
commit | 8ffcb2c8c7ef3da54d7e46c29d502533e413c820 (patch) | |
tree | 1f94e2e81b4d20f2df827b8a84eeda27032161a1 /user_guide_src/source/general/errors.rst | |
parent | f4fb1db458fab52d0493ead52c9ea7e01206eaa7 (diff) | |
parent | 6858c0753a7221796d6a5a1d7fea93cc2f9feb2e (diff) |
Merged develop branch in tutorial.
Diffstat (limited to 'user_guide_src/source/general/errors.rst')
-rw-r--r-- | user_guide_src/source/general/errors.rst | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/user_guide_src/source/general/errors.rst b/user_guide_src/source/general/errors.rst new file mode 100644 index 000000000..91b59140f --- /dev/null +++ b/user_guide_src/source/general/errors.rst @@ -0,0 +1,84 @@ +############## +Error Handling +############## + +CodeIgniter lets you build error reporting into your applications using +the functions described below. In addition, it has an error logging +class that permits error and debugging messages to be saved as text +files. + +.. note:: By default, CodeIgniter displays all PHP errors. You might + wish to change this behavior once your development is complete. You'll + find the error_reporting() function located at the top of your main + index.php file. Disabling error reporting will NOT prevent log files + from being written if there are errors. + +Unlike most systems in CodeIgniter, the error functions are simple +procedural interfaces that are available globally throughout the +application. This approach permits error messages to get triggered +without having to worry about class/function scoping. + +The following functions let you generate errors: + +show_error('message' [, int $status_code= 500 ] ) +=================================================== + +This function will display the error message supplied to it using the +following error template: + +application/errors/error_general.php + +The optional parameter $status_code determines what HTTP status code +should be sent with the error. + +show_404('page' [, 'log_error']) +================================== + +This function will display the 404 error message supplied to it using +the following error template: + +application/errors/error_404.php + +The function expects the string passed to it to be the file path to the +page that isn't found. Note that CodeIgniter automatically shows 404 +messages if controllers are not found. + +CodeIgniter automatically logs any show_404() calls. Setting the +optional second parameter to FALSE will skip logging. + +log_message('level', 'message') +================================ + +This function lets you write messages to your log files. You must supply +one of three "levels" in the first parameter, indicating what type of +message it is (debug, error, info), with the message itself in the +second parameter. Example:: + + if ($some_var == "") + { + log_message('error', 'Some variable did not contain a value.'); + } + else + { + log_message('debug', 'Some variable was correctly set'); + } + + log_message('info', 'The purpose of some variable is to provide some value.'); + +There are three message types: + +#. Error Messages. These are actual errors, such as PHP errors or user + errors. +#. Debug Messages. These are messages that assist in debugging. For + example, if a class has been initialized, you could log this as + debugging info. +#. Informational Messages. These are the lowest priority messages, + simply giving information regarding some process. CodeIgniter doesn't + natively generate any info messages but you may want to in your + application. + +.. note:: In order for the log file to actually be written, the "logs" + folder must be writable. In addition, you must set the "threshold" for + logging in application/config/config.php. You might, for example, only + want error messages to be logged, and not the other two types. If you + set it to zero logging will be disabled. |