Abstract Class yii\base\ErrorHandler

继承yii\base\ErrorHandler » yii\base\Component » yii\base\BaseObject
实现yii\base\Configurable
子类yii\console\ErrorHandler, yii\web\ErrorHandler
可用自版本2.0
源代码 https://github.com/yiisoft/yii2/blob/master/framework/base/ErrorHandler.php

ErrorHandler 处理未捕获的 PHP 错误和异常.

默认情况下, ErrorHandler 在 yii\base\Application 中配置为应用程序组件. 你可以通过Yii::$app->errorHandler来访问该实例.

有关 ErrorHandler 的更多详细信息和使用信息, 请参阅 权威指南 - 请求处理 - 错误处理(Handling Errors).

公共属性

隐藏继承的属性

属性类型描述定义在
$behaviors yii\base\Behavior[] 附加到此组件的行为列表. 该属性是只读的. yii\base\Component
$discardExistingOutput boolean 在显示错误之前是否丢弃新任何现有页面输出. yii\base\ErrorHandler
$exception Exception|null 当前正在处理的异常. yii\base\ErrorHandler
$memoryReserveSize integer 保留内存的大小. yii\base\ErrorHandler
$silentExitOnException boolean 如果为true, handleException()将使用ExitCode::OK完成脚本, 如果为false, 将使用ExitCode::UNSPECIFIED_ERROR. yii\base\ErrorHandler

公共方法

隐藏继承的方法

方法描述定义在
__call() 调用不是类方法的指定的方法. yii\base\Component
__clone() 在通过克隆现有对象创建对象之后调用此方法. yii\base\Component
__construct() 构造函数. yii\base\BaseObject
__get() 返回组件属性的值. yii\base\Component
__isset() 检查属性是否已设置, 即已定义且不为null. yii\base\Component
__set() 设置组件属性的值. yii\base\Component
__unset() 将组件属性设置为null. yii\base\Component
attachBehavior() 将行为附加到此组件. yii\base\Component
attachBehaviors() 将行为列表附加到组件. yii\base\Component
behaviors() 返回此组件应该具有的行为列表. yii\base\Component
canGetProperty() 返回一个值, 指示属性是否可读取. yii\base\Component
canSetProperty() 返回一个值, 指示属性是否可设置. yii\base\Component
className() 返回此类的完全限定名称. yii\base\BaseObject
clearOutput() 删除在调用此方法之前回显的所有输出. yii\base\ErrorHandler
convertExceptionToError() 将异常转换为 PHP 错误. yii\base\ErrorHandler
convertExceptionToString() 将异常转换为简单的字符串. yii\base\ErrorHandler
convertExceptionToVerboseString() 将异常转换为包含有关异常及其跟踪的详细信息的字符串. yii\base\ErrorHandler
detachBehavior() 从组件中分离一个行为. yii\base\Component
detachBehaviors() 分离组件中的所有行为. yii\base\Component
ensureBehaviors() 确保在 behaviors() 中声明的行为已附加到此组件. yii\base\Component
getBehavior() 返回指定的行为对象. yii\base\Component
getBehaviors() 返回附加到此组件的所有行为. yii\base\Component
handleError() 处理 PHP 执行错误, 如警告和通知. yii\base\ErrorHandler
handleException() 处理未捕获的 PHP 异常. yii\base\ErrorHandler
handleFatalError() 处理致命的 PHP 错误. yii\base\ErrorHandler
handleHhvmError() 处理 HHVM 执行错误, 如警告和通知. yii\base\ErrorHandler
hasEventHandlers() 返回一个值, 指示是否有任何处理程序附加到指定的事件. yii\base\Component
hasMethod() 返回一个值, 指示方法是否已定义. yii\base\Component
hasProperty() 返回一个值, 指示属性是否已定义. yii\base\Component
init() yii\base\ErrorHandler
logException() 记录给定的异常. yii\base\ErrorHandler
off() 从该组件分离现有的事件处理程序. yii\base\Component
on() 将事件处理程序附加到事件. yii\base\Component
register() 注册该错误处理程序. yii\base\ErrorHandler
trigger() 触发事件. yii\base\Component
unregister() 通过恢复 PHP 错误和异常处理程序来注销此错误处理程序. yii\base\ErrorHandler

受保护的方法

隐藏继承的方法

方法描述定义在
handleFallbackExceptionMessage() 处理在 handleException() 中进行异常处理期间抛出的异常. yii\base\ErrorHandler
renderException() 渲染异常. yii\base\ErrorHandler

属性详情

$discardExistingOutput public 属性

在显示错误之前是否丢弃新任何现有页面输出. 默认为true.

$exception public 属性

当前正在处理的异常.

public Exception|null $exception null
$memoryReserveSize public 属性

保留内存的大小. 内存的一部分已预先分配, 因此当发生内存不足的问题时, 错误处理程序可以借助此保留内存来处理错误. 如果将此值设置为0, 则不会保留任何内存. 默认为256KB.

public integer $memoryReserveSize 262144
$silentExitOnException public 属性 (可用自版本: 2.0.36)

如果为true, handleException()将使用ExitCode::OK完成脚本, 如果为false, 将使用ExitCode::UNSPECIFIED_ERROR.

方法详情

clearOutput() public 方法

删除在调用此方法之前回显的所有输出.

public void clearOutput ( )
convertExceptionToError() public static 方法

将异常转换为 PHP 错误.

该方法可以用于将诸如__toString()之类的方法种的异常转换为 PHP 错误, 因为不能在其中抛出异常.

public static void convertExceptionToError ( $exception )
$exception Exception|\Throwable

转换为 PHP 错误的异常.

convertExceptionToString() public static 方法

将异常转换为简单的字符串.

public static string convertExceptionToString ( $exception )
$exception Exception|\Error|\Throwable

被转换的异常.

return string

异常的字符串表示形式.

convertExceptionToVerboseString() public static 方法 (可用自版本: 2.0.14)

将异常转换为包含有关异常及其跟踪的详细信息的字符串.

public static string convertExceptionToVerboseString ( $exception )
$exception Exception|\Error|\Throwable

被转换的异常.

return string

异常的字符串表示形式.

handleError() public 方法

处理 PHP 执行错误, 如警告和通知.

此方法用作 PHP 错误处理程序. 它只会抛出一个 yii\base\ErrorException.

public boolean handleError ( $code, $message, $file, $line )
$code integer

抛出的错误级别.

$message string

错误消息.

$file string

抛出错误的文件名.

$line integer

抛出错误的行号.

return boolean

普通错误处理程序是否继续.

throws yii\base\ErrorException
handleException() public 方法

处理未捕获的 PHP 异常.

该方法作为 PHP 异常处理程序实现.

public void handleException ( $exception )
$exception Exception

没有发现的异常.

handleFallbackExceptionMessage() protected 方法 (可用自版本: 2.0.11)

处理在 handleException() 中进行异常处理期间抛出的异常.

protected void handleFallbackExceptionMessage ( $exception, $previousException )
$exception Exception|\Throwable

在主要异常处理期间抛出的异常.

$previousException Exception

handleException() 中处理的主要异常.

handleFatalError() public 方法

处理致命的 PHP 错误.

public void handleFatalError ( )
handleHhvmError() public 方法 (可用自版本: 2.0.6)

处理 HHVM 执行错误, 如警告和通知.

此方法用作 HHVM 错误处理程序. 它将存储将在致命错误处理程序中使用的异常.

public boolean handleHhvmError ( $code, $message, $file, $line, $context, $backtrace )
$code integer

抛出的错误级别.

$message string

错误消息.

$file string

抛出错误的文件名.

$line integer

抛出错误的文件名.

$context mixed
$backtrace mixed

错误的痕迹.

return boolean

普通错误处理程序是否继续.

throws yii\base\ErrorException
init() public 方法

public void init ( )
logException() public 方法 (可用自版本: 2.0.3)

记录给定的异常.

public void logException ( $exception )
$exception Exception|\Error|\Throwable

要记录的异常.

register() public 方法 (可用自版本: 2.0.32)

注册该错误处理程序.

public void register ( )
renderException() protected abstract 方法

渲染异常.

protected abstract void renderException ( $exception )
$exception Exception

要渲染的异常.

unregister() public 方法 (可用自版本: 2.0.32)

通过恢复 PHP 错误和异常处理程序来注销此错误处理程序.

public void unregister ( )