mirror of
https://gitee.com/mix-php/mix.git
synced 2024-12-03 12:17:39 +08:00
feat:examples:swoole协程不支持set_exception_handler,因此set_error_handler内部逻辑只打印,不做\Error对象转换,避免出现Uncaught Error
This commit is contained in:
parent
7212892fc6
commit
d1557c5e5b
@ -2,7 +2,7 @@
|
||||
<?php
|
||||
ini_set('display_errors', 'on');
|
||||
ini_set('display_startup_errors', 'on');
|
||||
ini_set('error_reporting', E_ALL ^ (E_NOTICE | E_WARNING));
|
||||
ini_set('error_reporting', E_ALL ^ E_NOTICE);
|
||||
ini_set('memory_limit', '1G');
|
||||
|
||||
require __DIR__ . '/../vendor/autoload.php';
|
||||
|
@ -36,25 +36,14 @@ class Error
|
||||
{
|
||||
if (error_reporting() & $errno) {
|
||||
// 委托给异常处理
|
||||
$isFatalWarning = function ($errno, $errstr) {
|
||||
if ($errno == E_WARNING && strpos($errstr, 'require') === 0) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
if ($isFatalWarning($errno, $errstr)) {
|
||||
$this->exception(new \Error(sprintf('%s in %s on line %d', $errstr, $errfile, $errline), $errno));
|
||||
return;
|
||||
}
|
||||
// 转换为异常抛出
|
||||
throw new \Error(sprintf('%s in %s on line %d', $errstr, $errfile, $errline), $errno);
|
||||
$this->exception(new \Error(sprintf('%s in %s on line %d', $errstr, $errfile, $errline), $errno));
|
||||
}
|
||||
}
|
||||
|
||||
public function shutdown(): void
|
||||
{
|
||||
$isFatal = function ($errno) {
|
||||
return in_array($errno, [E_ERROR, E_CORE_ERROR, E_COMPILE_ERROR, E_PARSE]);
|
||||
return in_array($errno, [E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING]);
|
||||
};
|
||||
if (!is_null($error = error_get_last()) && $isFatal($error['type'])) {
|
||||
// 委托给异常处理
|
||||
|
@ -36,25 +36,14 @@ class Error
|
||||
{
|
||||
if (error_reporting() & $errno) {
|
||||
// 委托给异常处理
|
||||
$isFatalWarning = function ($errno, $errstr) {
|
||||
if ($errno == E_WARNING && strpos($errstr, 'require') === 0) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
if ($isFatalWarning($errno, $errstr)) {
|
||||
$this->exception(new \Error(sprintf('%s in %s on line %d', $errstr, $errfile, $errline), $errno));
|
||||
return;
|
||||
}
|
||||
// 转换为异常抛出
|
||||
throw new \Error(sprintf('%s in %s on line %d', $errstr, $errfile, $errline), $errno);
|
||||
$this->exception(new \Error(sprintf('%s in %s on line %d', $errstr, $errfile, $errline), $errno));
|
||||
}
|
||||
}
|
||||
|
||||
public function shutdown(): void
|
||||
{
|
||||
$isFatal = function ($errno) {
|
||||
return in_array($errno, [E_ERROR, E_CORE_ERROR, E_COMPILE_ERROR, E_PARSE]);
|
||||
return in_array($errno, [E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING]);
|
||||
};
|
||||
if (!is_null($error = error_get_last()) && $isFatal($error['type'])) {
|
||||
// 委托给异常处理
|
||||
|
@ -2,7 +2,7 @@
|
||||
<?php
|
||||
ini_set('display_errors', 'on');
|
||||
ini_set('display_startup_errors', 'on');
|
||||
ini_set('error_reporting', E_ALL ^ (E_NOTICE | E_WARNING));
|
||||
ini_set('error_reporting', E_ALL ^ E_NOTICE);
|
||||
ini_set('memory_limit', '1G');
|
||||
|
||||
require __DIR__ . '/../vendor/autoload.php';
|
||||
|
@ -36,25 +36,14 @@ class Error
|
||||
{
|
||||
if (error_reporting() & $errno) {
|
||||
// 委托给异常处理
|
||||
$isFatalWarning = function ($errno, $errstr) {
|
||||
if ($errno == E_WARNING && strpos($errstr, 'require') === 0) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
if ($isFatalWarning($errno, $errstr)) {
|
||||
$this->exception(new \Error(sprintf('%s in %s on line %d', $errstr, $errfile, $errline), $errno));
|
||||
return;
|
||||
}
|
||||
// 转换为异常抛出
|
||||
throw new \Error(sprintf('%s in %s on line %d', $errstr, $errfile, $errline), $errno);
|
||||
$this->exception(new \Error(sprintf('%s in %s on line %d', $errstr, $errfile, $errline), $errno));
|
||||
}
|
||||
}
|
||||
|
||||
public function shutdown(): void
|
||||
{
|
||||
$isFatal = function ($errno) {
|
||||
return in_array($errno, [E_ERROR, E_CORE_ERROR, E_COMPILE_ERROR, E_PARSE]);
|
||||
return in_array($errno, [E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING]);
|
||||
};
|
||||
if (!is_null($error = error_get_last()) && $isFatal($error['type'])) {
|
||||
// 委托给异常处理
|
||||
|
@ -2,7 +2,7 @@
|
||||
<?php
|
||||
ini_set('display_errors', 'on');
|
||||
ini_set('display_startup_errors', 'on');
|
||||
ini_set('error_reporting', E_ALL ^ (E_NOTICE | E_WARNING));
|
||||
ini_set('error_reporting', E_ALL ^ E_NOTICE);
|
||||
ini_set('memory_limit', '1G');
|
||||
|
||||
require __DIR__ . '/../vendor/autoload.php';
|
||||
|
@ -36,25 +36,14 @@ class Error
|
||||
{
|
||||
if (error_reporting() & $errno) {
|
||||
// 委托给异常处理
|
||||
$isFatalWarning = function ($errno, $errstr) {
|
||||
if ($errno == E_WARNING && strpos($errstr, 'require') === 0) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
if ($isFatalWarning($errno, $errstr)) {
|
||||
$this->exception(new \Error(sprintf('%s in %s on line %d', $errstr, $errfile, $errline), $errno));
|
||||
return;
|
||||
}
|
||||
// 转换为异常抛出
|
||||
throw new \Error(sprintf('%s in %s on line %d', $errstr, $errfile, $errline), $errno);
|
||||
$this->exception(new \Error(sprintf('%s in %s on line %d', $errstr, $errfile, $errline), $errno));
|
||||
}
|
||||
}
|
||||
|
||||
public function shutdown(): void
|
||||
{
|
||||
$isFatal = function ($errno) {
|
||||
return in_array($errno, [E_ERROR, E_CORE_ERROR, E_COMPILE_ERROR, E_PARSE]);
|
||||
return in_array($errno, [E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING]);
|
||||
};
|
||||
if (!is_null($error = error_get_last()) && $isFatal($error['type'])) {
|
||||
// 委托给异常处理
|
||||
|
@ -2,7 +2,7 @@
|
||||
<?php
|
||||
ini_set('display_errors', 'on');
|
||||
ini_set('display_startup_errors', 'on');
|
||||
ini_set('error_reporting', E_ALL ^ (E_NOTICE | E_WARNING));
|
||||
ini_set('error_reporting', E_ALL ^ E_NOTICE);
|
||||
ini_set('memory_limit', '1G');
|
||||
|
||||
require __DIR__ . '/../vendor/autoload.php';
|
||||
|
@ -36,25 +36,14 @@ class Error
|
||||
{
|
||||
if (error_reporting() & $errno) {
|
||||
// 委托给异常处理
|
||||
$isFatalWarning = function ($errno, $errstr) {
|
||||
if ($errno == E_WARNING && strpos($errstr, 'require') === 0) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
if ($isFatalWarning($errno, $errstr)) {
|
||||
$this->exception(new \Error(sprintf('%s in %s on line %d', $errstr, $errfile, $errline), $errno));
|
||||
return;
|
||||
}
|
||||
// 转换为异常抛出
|
||||
throw new \Error(sprintf('%s in %s on line %d', $errstr, $errfile, $errline), $errno);
|
||||
$this->exception(new \Error(sprintf('%s in %s on line %d', $errstr, $errfile, $errline), $errno));
|
||||
}
|
||||
}
|
||||
|
||||
public function shutdown(): void
|
||||
{
|
||||
$isFatal = function ($errno) {
|
||||
return in_array($errno, [E_ERROR, E_CORE_ERROR, E_COMPILE_ERROR, E_PARSE]);
|
||||
return in_array($errno, [E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING]);
|
||||
};
|
||||
if (!is_null($error = error_get_last()) && $isFatal($error['type'])) {
|
||||
// 委托给异常处理
|
||||
|
Loading…
Reference in New Issue
Block a user