本文整理汇总了PHP中ErrorException::create方法的典型用法代码示例。如果您正苦于以下问题:PHP ErrorException::create方法的具体用法?PHP ErrorException::create怎么用?PHP ErrorException::create使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ErrorException
的用法示例。
在下文中一共展示了ErrorException::create方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: init
static function init()
{
static $done = false;
if ($done) {
return;
}
/**
* Converts an error into an ErrorException
*
* Handlable errors:
* E_WARNING, E_NOTICE, E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE, E_STRICT,
* E_RECOVERABLE_ERROR, E_DEPRECATED, E_USER_DEPRECATED
*
* Unhandlable errors:
* E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING
*/
set_error_handler(function ($Severity, $Msg, $File = null, $Line = null, $Context = null) {
if (!$File || strpos($File, __DIR__ . DIRECTORY_SEPARATOR) !== 0) {
return false;
}
// Passes through the error if it occurred outside of the library
throw ErrorException::create($Msg, 0, $Severity, $File, $Line);
});
// Handles exceptions & errors
set_exception_handler(function ($E) {
$reflection = new \ReflectionObject($E);
if (!$reflection->inNamespace()) {
throw $E;
}
// Passes through the exception that is out of our namespace
if ($E instanceof ErrorException) {
if ($E->shouldReport()) {
$E->trigger(true);
}
return;
}
// TODO: Do special (ex. Show bug-report instructions)
throw $E;
});
$done = true;
}