什么是PHP中错误与异常

  介绍

今天就跟大家聊聊有关什么是PHP中错误与异常,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

<代码> 致命错误比;<代码> 在减弱;<代码>通知> 弃用

    <李>

    弃用最低级别的错误(不推荐,不建议)
    <代码>使用一些过期函数的时候会出现,程序继续执行

    <李>

    通知通知级别的错误
    <代码>使用一些未定义变量,常量或者数组关键没有加引号的时候会出现,程序继续执行

    <李>

    减弱警告级别的错误
    <代码>程序出问题了,需要修改代码! ! !程序继续执行

    <李>

    致命错误错误级别的错误
    <代码>程序直接报错,需要修改代码! ! !中断程序执行,可使用register_shutdown_function()函数在程序终止前触发一个函数

    <李>

    解析错误语法解析错误
    <代码>语法检查阶段报错,需要修改代码! ! !中断程序执行,除了修改ini文件,将错误信息写到日志中,什么也做不了

    <李>

    E_USER_相关的错误
    <代码>用户定义的错误,用户手动抛出错误,进行自定义错误处理

    <李>

    <代码>报错(& # 39;display_errors # 39;, 0),代码> <李>

    <代码> error_reporting (E_ALL& ~ E_NOTICE);代码> <李>

    <代码>报错(& # 39;error_reporting # 39;, 0),代码>

    <李>

    除了在脚本里设置,还可以在php。ini配置文件里配置

  • error_reporting=E_ALL&~E_NOTICE;//设置错误报告级别

  • display_errors=1;//开发环境开启,生产环境关闭

  • PHP的异常是后来新增特性,与JAVA/C#的异常不同,PHP异常需要手动抛出throw new Exception,而不是系统自动抛出

  • PHP错误与异常的区别,他们是2个不同的概念,但有共同的地方:

    如果异常不捕获处理,程序将会终止,并报出Fatal Error 错误,看到这里大家就会觉得异常是不是错误的一种,这是一种错觉,但这样理解也可以。但异常捕获后程序可以继续执行,而真正的Fatal Error错误出现后程序就必须终止

  • 异常可以使用 try{}catch(){} 来捕获捕获,捕获之后后续代码可以继续执行;而错误是无法使用 try{}catch(){} 捕获的

  • 如果抛出了异常,就必须捕获它,否则程序终止执行。

  • 异常抛出:throw new Exception('Some Error Message');

  • 错误抛出:trigger_error()

  • trigger_error() 触发的错误不会被 try-catch 异常捕获语句捕获

  • set_error_handler()

只能处理DeprecatedNoticeWaning这三种级别错误,而且处理后,脚本将会继续执行发生错误的后一行

  • register_shutdown_function()

这个方法是脚本结束前的最后一个回调函数,所以无论是die()/错误(异常)/还是脚本正常结束都会调用

  • set_exception_handler()

设置默认的异常处理程序,有try/catch捕获的话这个函数就不会执行,反之就会执行,而且执行的话,脚本将不会继续执行发生异常的后一行代码,程序马上中止

  • set_exception_handler()注意事项

set_exception_handler(“myException”) 不仅可以接受函数名,还可以接受 类的方法公开的静态方法公开的非静态方法 都可以),但需要以 数组形式 传递,数组的第一值为“类名”,第二个参数为“方法名”,如下代码所示:

<?php
  类应用{
  函数myException($除外){
  回声“& lt; b>例外:& lt;/b>“;美元,异常→getMessage ();
  }
  }
  
  set_exception_handler(数组(& # 39;应用# 39;& # 39;myException& # 39;));
  
  抛出新的异常(& # 39;异常发生# 39;);
  ?在

    <李>

    由于用户行为导致出现异常

    1,没有通过验证器

    2,没查询到结果

    3,需要向用户返回具体信息

    什么是PHP中错误与异常