美文网首页PHP
PHP 自定义错误处理

PHP 自定义错误处理

作者: 887d1fc86fe6 | 来源:发表于2020-04-26 16:26 被阅读0次
  • 之前,我们面对的情形都是错误发生的时候,系统生成错误,并处理错误(给出错误信息)。
  • 我们能控制的就只是:是否显示,显示什么,是否记录,记录到哪里?
  • 实际上,我们也可以更进一步控制错误信息,以诀定错误发生的时候,显示什么样的错误信息。 这就是“自定义错误处理”。

  • 具体做法,分2步:
    • 第1步:
      声明错误发生时,由我们自己来处理,设定一个错误处理的函数名。
    • 第2步:
      定义该函数,在函数中详细设定错误的处理情况:怎么显示,显示什么,怎么记录,记录什么。
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <?php
  // 必须先设置错误回调,后面报错才能得到回调
  // 自定义错误,分2步:
  // 1、声明,我们自己使用自己的函数处理错误
  // set_error_handler('函数名')
  set_error_handler('my_error_handler');
  // 2、定义函数!
  // errCode:错误代码,errMsg:错误信息,errFile:错误文件,errLine:错误行号
  // 此形参顺序固定,是由系统调用并传入实参数据
  function my_error_handler($errCode, $errMsg, $errFile, $errLine) {
    echo '<br>错误代码:' . $errCode;
    echo '<br>错误信息:' . $errMsg;
    echo '<br>错误文件:' . $errFile;
    echo '<br>错误行号:' . $errLine;
    echo '<hr>';

    // 可以将拼接的错误字符串存到指定文件夹
    // file_put_contents('./error_log.txt', $error_str, FILE_APPEND);
    // file_put_contents('./error_log.html', $error_str, FILE_APPEND);
  }

  // 报错代码
  include 'nav1.php'; // 载入失败
  echo $page; // 未定义变量
  ?>
</body>
</html>

相关文章

  • 自定义错误set_error_handler(5)

    php的默认错误处理是将消息输出。但是,有时候需要定义一些其他操作,这时就需要自定义错误处理函数。php提供内置函...

  • 10.1.2 自定义PHP的错误报告处理方式

    10.1.2 自定义PHP的错误报告处理方式 自定义错误报告的处理方式,可以完全绕过标准的PHP错误处理函数,这样...

  • PHP错误处理机制

    PHP错误简介 PHP提供了错误处理和日志记录的功能. 这些函数允许你定义自己的错误处理规则,以及修改错误...

  • PHP 自定义错误处理

    之前,我们面对的情形都是错误发生的时候,系统生成错误,并处理错误(给出错误信息)。 我们能控制的就只是:是否显示,...

  • PHP错误与异常处理(二)

    自定义错误处理器 我们写程序,难免会有问题(是经常会遇到问题),而PHP遇到错误时,就会给出出错脚本的位置、行数和...

  • Go 语言基础——错误处理

    学习目标 掌握错误处理 掌握自定义错误处理 掌握defer关键字的使用 错误处理 GO没有异常处理机制 Go语言引...

  • 自己编写PHP框架需要考虑的部分

    1. MVC2. 自动加载: PHP: 自动加载类;3. 错误处理:http://php.net/manual/z...

  • php错误处理之自定义错误处理函数

    阅读原文 用户自定义错误经常用到的两个函数: set_error_handler(callable $回调的错误处...

  • PHP异常、错误处理机制笔记

    本文介绍PHP的异常,错误以及如何屏蔽错误。参考:php异常、错误处理机制、PHP错误提示的关闭方法详解 首先要明...

  • golang

    golang go和php的区别类型:go为编译性语言;php解释性语言错误:go的错误处理机制;php本身或者框...

网友评论

    本文标题:PHP 自定义错误处理

    本文链接:https://www.haomeiwen.com/subject/gaxjwhtx.html