使用错误处理器
error handler 注册成一个名称为errorHandler
应用组件, 可以在应用配置中配置它类似如下:
return [
'components' => [
'errorHandler' => [
'maxSourceLines' => 20,
],
],
];
自定义错误显示
error handler错误处理器根据常量YII_DEBUG
的值来调整错误显示, 当YII_DEBUG
为 true (表示在调试模式), 错误处理器会显示异常以及详细的函数调用栈和源代码行数来帮助调试, 当YII_DEBUG
为 false,只有错误信息会被显示以防止应用的敏感信息泄漏。
信息: 如果异常是继承 yii\base\UserException, 不管
YII_DEBUG
为何值,函数调用栈信息都不会显示, 这是因为这种错误会被认为是用户产生的错误,开发人员不需要去修正。
error handler 错误处理器默认使用两个视图显示错误:
@yii/views/errorHandler/error.php
: 显示不包含函数调用栈信息的错误信息是使用, 当YII_DEBUG
为 false时,所有错误都使用该视图。@yii/views/errorHandler/exception.php
: 显示包含函数调用栈信息的错误信息时使用。
可以配置错误处理器的 errorView 和 exceptionView 属性 使用自定义的错误显示视图。
使用错误动作
使用指定的错误操作 来自定义错误显示更方便, 为此,首先配置errorHandler
组件的 errorAction 属性, 类似如下:
return [
'components' => [
'errorHandler' => [
'errorAction' => 'site/error',
],
]
];