Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP错误\u get\u last,排除已捕获的异常_Php_Exception Handling_Uncaught Exception - Fatal编程技术网

PHP错误\u get\u last,排除已捕获的异常

PHP错误\u get\u last,排除已捕获的异常,php,exception-handling,uncaught-exception,Php,Exception Handling,Uncaught Exception,我正在运行一些代码,例如: register_shutdown_函数(“ShutdownHandler”); $var=test(); 功能测试(){ 试一试{ //做点什么 只需要一次(“class.extra.php”); 类外::doSomething(); }捕获(例外$e){ //处理错误。 回应“例外”; 返回null; } //继续。。。 返回true; } class.extra.php: 类外 { 公共静态函数doSomething() { 抛出新的CustomExcepti

我正在运行一些代码,例如:

register_shutdown_函数(“ShutdownHandler”);
$var=test();
功能测试(){
试一试{
//做点什么
只需要一次(“class.extra.php”);
类外::doSomething();
}捕获(例外$e){
//处理错误。
回应“例外”;
返回null;
}
//继续。。。
返回true;
}
class.extra.php:

类外
{
公共静态函数doSomething()
{
抛出新的CustomException(“异常”);
}
}
类CustomException扩展异常
{
公共函数构造($mesg,$code=0x00)
{
父项::u构造($mesg,$code);
}
}
在一些代码之后,脚本结束并调用ShutdownHandler()get

函数ShutdownHandler(){
//error_get_last返回已捕获的异常,如果触发了get,则返回下一个异常。
$error=error_get_last();
如果($error['type']&&E_ALL){
//处理未捕获的异常。。。
回声“未捕获异常”;
}
}

但我只想在这里处理未捕获的异常,有什么想法吗?

如果根据定义,未捕获的异常会阻止代码进一步执行,那么如何获取未捕获的异常?@dragoste不理解您的问题。如果发生未捕获的异常,将触发ShutdownHandler。还有进一步的执行。请提供代码,说明如何在不捕获异常的情况下触发ShowdownHandler。@dragoste请参见第1行:register_shutdown_函数(“ShutdownHandler”);好的,您没有提到您正在使用
register\u shutdown\u function()
函数。无论如何,在您的示例中,没有未捕获的异常。我做了一些测试,可以看到
get\u last\u error
只返回未捕获的异常,所以我仍然不知道问题出在哪里。