抛出异常时隐藏输出

Hide output when an exception is thrown

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

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

这个模式可能就是你想要的:

// 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
    // ...
}