Php 引发异常时隐藏输出

Php 引发异常时隐藏输出,php,exception,exception-handling,Php,Exception,Exception Handling,我只是想问一下,当我的脚本遇到异常时,是否有任何方法可以隐藏我已经发送的任何输出。例如:打印数组时遇到异常。此时,我只想打印异常消息,而不想打印数组输出(因为它可能由于错误而不完整) 最简单的方法是缓冲(例如保存到变量)您的输出,并在回显之前检查错误。此模式可能就是您想要的: // Start output buffering ob_start(); try { // Your code that might throw an error // ... // No e

我只是想问一下,当我的脚本遇到异常时,是否有任何方法可以隐藏我已经发送的任何输出。例如:打印数组时遇到异常。此时,我只想打印异常消息,而不想打印数组输出(因为它可能由于错误而不完整)

最简单的方法是缓冲(例如保存到变量)您的输出,并在回显之前检查错误。

此模式可能就是您想要的:

// Start output buffering
ob_start();

try {
    // Your code that might throw an error
    // ...

    // No errors: Send output to client
    flush();
    ob_end_flush();
}
catch (\Exception $e) {
    // Error occured. Throw away output and stop buffering
    ob_end_clean();

    // Handle your error
    // ...
}

注册一个处理所有未捕获异常的异常处理程序。让它清除输出缓冲区,并将异常消息写入其中,然后退出