gpt4 book ai didi

php - 如何向用户显示捕获的错误,避免这些常见的陷阱?

转载 作者:行者123 更新时间:2023-12-03 08:55:47 25 4
gpt4 key购买 nike

如果您的网站捕获到您希望报告给用户的异常作为反馈,那么一种优雅的处理方式又不会遇到以下问题:

  • 错误发生在页面中间,如果在捕获时直接打印错误消息,它将位于断页中间的某个位置。
  • 使用ob_start()可以确保仅在处理内容后才打印内容,并且没有错误,将问题修复为1),但是最好避免性能下降。
  • 捕获错误后重定向到新URL或同一个URL确实可以很好地工作(例如,如果用户输入错误密码,错误消息,重定向到登录表单,或者更严重的应用程序崩溃,则重定向到通用页面)错误)。尽管这样(递归)会使您易于出错,但是这样会使请求超时,最终使用户或开发人员根本没有清晰的错误消息。因此,总是重定向错误,尤其是应用程序崩溃错误,似乎是个坏主意。
  • 我注意到使用ob_clean()而不使用ob_start()可以在我的项目上运行,删除页面上已经存在的回显内容。但是php手册指出,如果没有ob_start(),它将不起作用,甚至不应该清除回显的HTML,而只是清除缓冲区中的内容。这里发生了什么?
  • 您可以将所有的print/echo语句保存在$ array = array()中,而不是ob_start。据我了解,性能降低的程度较小,但这会使代码难以处理。
    感谢帮助
  • 最佳答案

    我要做的就是创建一个包含所需页面的索引,例如,如果您想查看联系页面,则需要index.php?page=contact
    该代码看起来像这样

    $return_code = 1;
    $return_code = include($page.'.php');
    if ($return_code != 1) {
    echo '<div class="error">'.$return_code.'</div>';
    }

    在您的联系页面内,您可以做任何需要做的事情,如果有错误并且您想停止执行页面并仅显示错误,则简单地返回即可
    <?php
    // If an error happens, simply
    return "Error text";
    ?>

    关于php - 如何向用户显示捕获的错误,避免这些常见的陷阱?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26277827/

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