# CodeIgniter 用户指南 版本 2.2.0

编辑文档、查看近期更改请 登录 或 注册 找回密码

搜索用户指南

查看原文

# 错误处理

在你的程序里使用以下的函数，CodeIgniter将允许你建立自己的错误报告。另外，他有一个错误记录类能够将错误和调试信息保存为文本文档。

注意: 在默认的情况下, CodeIgniter 会显示所有的PHP错误.　但是当你开发程序结束时，你可能想要改变这个情况. 你会发现在index.php文件顶端有这个函数error_reporting()，通过它可以进行对错误的设置。 即使你关闭了错误报告，当有错误发生时，错误记录也不会停止。

不像大多数系统, CodeIgniter的错误报告函数是一个简单的程序接口，可以在整个应用程序里使用。 不用考虑类或者是函数的范围，这种办法可以直接触发错误通知。

可以使用以下函数来产生错误消息:

## show_error('消息' [, int $status_code = 500 ] [, string $heading = 'An Error Was Encountered'])

这个函数将会使用以下错误模版来显示错误消息:

application/errors/`error_general.php`

可选参数 $status_code 决定在显示错误的同时将会发送哪种 HTTP 状态代码。

可选参数 $heading 决定错误模版h1标签内容。

## show_404('页面' [, 'log_error'])

这个函数将会使用以下错误模版来显示 404 错误信息:

application/errors/`error_404.php`

传递给该函数的字符串代表的是找不到的文件路径。注意CodeIgniter会在找不到目标控制器情况下，自动显示404消息。

CodeIgniter自动记录任何 show_404() 函数调用。设置第二个可选的参数为FALSE将跳过记录

## log_message('级别', '`消息`')

这个函数可以让你将消息写入记录文件中。你必须在第一个参数中选择三个“级别“中的任何一个, 指明它是那一类消息(调试 debug, 错误 error, 信息info)。 第二个参数是消息本身。 例如:

`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.');
`

有三种不同类型的消息:

1. 错误类型的消息。 这种是真正的错误消息. 例如PHP错误或者用户错误。
2. 调试类型的消息。 这种是用来帮助调试的消息。 例如， 如果当一个类被初始化时，你可以将这个初始化记录下来，然后用于调试。
3. 信息类型的消息。 这种是最低优先级别的消息，它只是简单的提供了关于运行的一些信息。 CodeIgniter 不会自动产生任何信息类型的消息，但是你可能会在你的程序里使用它。

注意: 确保"logs" 文件夹是可写的,才能准确地将消息写入记录文件中。此外, 你必须设置application/config/config.php文件中的"threshold"设定，通过设置“threshold“，你可以只记录错误类型的消息，而不用记录其他两种。如果你将“threshold“设为0，记录就会被禁止。

翻译贡献者: aykirk, borisauschina, crgod, csfhc, Hex, IT不倒翁, tyronecai, walkbird, xjflyttp, 暗夜星辰, 笼中
最后修改: 2013-10-31 22:46:33