gpt4 book ai didi

PHP 不捕获异常(命名空间)

转载 作者:行者123 更新时间:2023-12-04 16:54:01 25 4
gpt4 key购买 nike

总结一下:我有一个从\Exception 扩展的异常类 (\core\exceptions\GuruMeditationException)。每个其他异常类只是从我自己的异常类扩展而来。
当我的代码运行并抛出异常时,一切对我来说都很完美。

现在:
假设我有一个从\core\base\mvc\View 扩展的类 (\app\HomeView)。抛出的异常也被很好地捕获。类声明如下所示:

namespace app;
class HomeView extends \core\base\mvc\View {
}

但:
如果我执行以下操作:
namespace app;
class HomeView extends \core\base\mvc\DoesNotExist { # line 5
}

然后不再捕获异常。
我已经 try catch 我创建的所有异常,无论有没有命名空间。我也试图捕捉 'Exception' 和 '\Exception' 但没有任何帮助。
相反,我收到了一个类似的错误:
Fatal error: Class 'core\base\mvc\DoesNotExistView' not found in /var/www/abuhome/htdocs/test-namespace/class/HomeView.class.php on line 5

Call Stack:
0.0001 635104 1. {main}() /var/www/abuhome/htdocs/test-namespace/index.php:0
0.0135 1536280 2. core\Quantum->make() /var/www/abuhome/htdocs/test-namespace/index.php:36
0.0135 1540880 3. core\scriptlet\ProtocolScriptlet->dispatch() /home/equinox/qf-namespace/class/Quantum.class.php:124
0.0136 1540880 4. core\scriptlet\XhtmlScriptlet->dispatch() /home/equinox/qf-namespace/class/scriptlet/ProtocolScriptlet.class.php:39
0.0136 1540880 5. core\template\tpl\TplContainerParser->parseContainerFile() /home/equinox/qf-namespace/class/scriptlet/XhtmlScriptlet.class.php:22
0.0139 1564656 6. core\scriptlet\ContentScriptlet->executeSuitingRequestParameter() /home/equinox/qf-namespace/class/template/tpl/TplContainerParser.class.php:42
0.0139 1564656 7. core\scriptlet\ContentScriptlet->processMainContent() /home/equinox/qf-namespace/class/scriptlet/ContentScriptlet.class.php:145
0.0141 1573640 8. core\scriptlet\ContentScriptlet->processModule() /home/equinox/qf-namespace/class/scriptlet/ContentScriptlet.class.php:154
0.0143 1583808 9. include('/var/www/abuhome/htdocs/test-namespace/modules/home.php') /home/equinox/qf-namespace/class/scriptlet/ContentScriptlet.class.php:174
0.0143 1584248 10. uses() /var/www/abuhome/htdocs/test-namespace/modules/home.php:4
0.0151 1637696 11. require_once('/var/www/abuhome/htdocs/test-namespace/class/HomeView.class.php') /home/equinox/qf-namespace/functions/uses.function.php:49

有人可以帮我吗?我想我忘记了一些东西,但我不知道它是什么>.<

谢谢

最佳答案

您无法捕捉或阻止 fatal error ,它们是致命的。

语法错误不是特殊情况。

关于PHP 不捕获异常(命名空间),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7768092/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com