顶级异常正在破坏我的页面(PHP)

顶级异常正在破坏我的页面(PHP),php,Php,我现在正在学习PHP并且正在使用,但是当我使用下面的代码时,我的页面会被破坏(从代码所在的位置停止): 此代码用于在未找到catch块时创建异常 我尝试了页面中的其他示例,一切正常。我认为这可能是因为没有try块,但我很困惑,我不知道如何在这种情况下使用它 提前谢谢 试试这个。希望能有帮助。如果没有,请告诉我 function myException($exception) { try { throw new Exception("Some error

我现在正在学习PHP并且正在使用,但是当我使用下面的代码时,我的页面会被破坏(从代码所在的位置停止):


此代码用于在未找到catch块时创建异常

我尝试了页面中的其他示例,一切正常。我认为这可能是因为没有try块,但我很困惑,我不知道如何在这种情况下使用它


提前谢谢

试试这个。希望能有帮助。如果没有,请告诉我

 function myException($exception) {  
     try {
            throw new Exception("Some error message");
        } catch(Exception $e) {
            echo $e->getMessage();
        }
    }
    set_exception_handler('myException');
    throw new Exception('Uncaught Exception occurred');

实际上,您得到的输出是正确的

正如W3Schools文档
set_exception_handler()
中所述,只设置一个用户定义的函数来处理所有未捕获的异常(如上面引用的示例所示)。所以输出应该是这样的:

Exception: Uncaught Exception occurred
请注意,异常的形式是您在函数中定义的(myException);这意味着它首先打印单词
Exception:
,然后打印异常的原因(消息),在本例中是发生了
未捕获的异常


编辑

如注释中所述,错误处理程序会导致脚本停止执行。为了避免这种情况,最好始终使用来处理异常


附言:如果你开始学习PHP,我建议你使用W3Schools以外的更好的资源(比如PHP文档本身)。

从PHP.net设置异常处理程序文档:

调用异常处理程序后,执行将停止


这都是你的密码吗?这个密码对我来说很好用。你能提供你收到的错误信息吗。使用错误报告(E_ALL);在显示错误信息的第一行中,仅允许显示错误的部分拉文德·雷迪什么事也没发生/为什么不使用try-catch呢?试试这个:
try{throw new\Exception('uncaughtexception发生');}catch(\Exception$e){echo'Exception:'。$e->getMessage();}
我收到了这个错误,但我的页面在此之后应该是空白的?:/我得到了基本类,但我认为很难在其他源代码中免费找到更高级的类。@B.Pereira是的,您的代码在调用异常处理程序后停止执行。有关更多示例,请参阅本页中的示例:@B.Pereira为了避免这种情况,最好始终使用Try-catch捕获脚本中的异常。请查看本页了解更多示例:Ok。将来需要时,我将使用Try-Catch块。我对W3Schools感到困惑,但我在php.net手册中迷失了方向;3.无论如何,谢谢你,@Hatef!谢谢您的回答,但是在代码之后我的页面仍然是空白的:(
Exception: Uncaught Exception occurred