PHP通知和警告之间的区别

时间:2011-01-07 10:17:12

标签: php error-handling

编写代码错误时,可能会出现警告和通知。我知道错误背后的想法。我想有一个警告可以告诉你一些可能导致错误的事情,但是不是一个通知也不一样吗?我想通知不是正确做事的信息;)。

这对我来说有点混乱。任何人都能说出这两者之间的区别以及这些消息的处理方式。

6 个答案:

答案 0 :(得分:50)

通知是一条忠告消息,意思是“你可能不应该做你正在做的事情,但无论如何我都会让你这样做”

警告是一条消息,说“你做错了,将来很可能会导致错误,所以请修理它。”

通知和警告都不会停止执行您的脚本,但我会鼓励您认真对待它们并努力在您的应用中没有任何通知。

答案 1 :(得分:32)

这里解释了不同之处:http://www.php.net/manual/en/errorfunc.constants.php

Specifficaly:

<强>错误:

  

致命的运行时错误。这些表明   无法恢复的错误,   比如内存分配问题。   停止执行脚本。

警告:

  

运行时警告(非致命错误)。   不停止执行脚本。

<强>通知:

  

运行时通知。表示脚本遇到可能表示错误的内容,但也可能在正常运行脚本的过程中发生。

答案 2 :(得分:7)

  • 注意:     这是一条简短的信息,说明该做什么或不该做什么。
  • 警告:     在运行时发生。代码执行继续。
  • ERROR:     这也发生在运行时,执行终止。

答案 3 :(得分:4)

我不会重复具体含义,这些含义已被其他答案彻底涵盖。

警告和通知表示您可能做错的事情有不同的“不良”级别,但我正在使用PEAR / Zend指南:您应始终编码为E_STRICT,这意味着您不应该提出任何警告通知。

如果您遵循E_STRICT兼容性,如果两者都被视为“您应该确保不会发生的非致命错误”,则通知和警告之间的区别是多余的 - 它们本质上都是警告。

答案 4 :(得分:2)

  • 通知:这是一条信息,说明您应该做什么以及不该做什么。
  • 警告:它在运行时发生。但它不会中断代码执行。
  • 错误:它也会在运行时发生,但程序执行不会继续,它会终止。

答案 5 :(得分:1)

根据PHP Manual

  • 警告 - 运行时警告(非致命错误)。不停止执行脚本。
  • 通知 - 运行时通知。表示脚本遇到可能表示错误的内容,但也可能在正常运行脚本的过程中发生。

我个人认为,这些通知表明某些代码部分可能会导致一些问题,但这些部分是故意引入的。在这种情况下,程序员被认为“知道他在做什么”并了解一些特定的PHP功能(类型转换,默认初始化值等)。