PHP разница между уведомлением и предупреждением

при написании ошибок кода могут возникать предупреждения и уведомления. Я знаю идею ошибок. Я полагаю, есть предупреждение, чтобы сообщить вам о чем-то, что может вызвать ошибку, но разве уведомление не точно то же самое? Я полагаю, что уведомление не является сообщением о том, что что-то делает правильно ;).

Это просто немного смущает меня. Может ли кто-нибудь сказать разницу между этими двумя и тем, как эти сообщения должны обрабатываться.

6 ответов


уведомление-это консультативное сообщение, означающее: "вы, вероятно, не должны делать то, что делаете, но я все равно позволю вам это сделать"

предупреждение-это сообщение о том, что " Вы делаете что-то неправильно, и это, скорее всего, вызовет ошибки в будущем, поэтому, пожалуйста, исправьте это."

оба уведомления и предупреждения не остановят выполнение вашего скрипта, хотя я бы рекомендовал вам серьезно относиться к ним и стремиться не иметь даже одного уведомления в ваших приложениях.


различия объясняются здесь:http://www.php.net/manual/en/errorfunc.constants.php

Specifficaly:

ошибки:

фатальные ошибки времени выполнения. Они указывают ошибки, которые не могут быть восстановлены, например, проблема выделения памяти. Выполнение скрипта завершается.

предупреждения:

предупреждения во время выполнения (неустранимые ошибки). Выполнение скрипта не прекращается.

объявления:

уведомления во время выполнения. Укажите, что сценарий столкнулся с чем-то, что может указывать на ошибку, но также может произойти в обычном ходе выполнения сценария.


  • уведомления: это короткое сообщение для того, чтобы сказать, что делать или чего не делать.
  • предупреждение: occcurs во время выполнения. Выполнение кода продолжается.
  • ошибка: это также происходит во время выполнения, выполнение завершается.

Я не буду повторять конкретные значения, которые были тщательно рассмотрены другими ответами.

предупреждения и уведомления указывают на разные уровни "плохости" для вещей, которые вы можете делать неправильно, но я с руководствами PEAR/Zend по этому поводу: вы всегда должны кодировать E_STRICT, что означает, что вы никогда не должны поднимать предупреждения или уведомления.

Если вы следуете совместимости E_STRICT, различие между уведомлениями и предупреждениями является избыточным если оба считаются "неустранимыми ошибками, которые вы должны убедиться, что не произойдет" - они оба по существу предупреждения.


  • обратите внимание: это сообщение для того, чтобы сказать, что вы должны делать и что вы не должны делать.
  • предупреждение: это происходит во время выполнения.Но это не прерывает выполнение кода.
  • : Это также происходит во время выполнения, но выполнение программы не продолжается его завершения.

по данным руководство по PHP:

  • предупреждение - предупреждения во время выполнения (неустранимые ошибки). Выполнение скрипта не прекращается.
  • обратите внимание - уведомления о времени выполнения. Укажите, что сценарий столкнулся с чем-то, что может указывать на ошибку, но также может произойти в обычном ходе выполнения сценария.

лично я думаю, что замечает, указывают на некоторые части кода, которые потенциально могут привести к некоторые проблемы, но которые были введены умышленно. В таких случаях программист считается "знающим, что он делает" и знает о некоторых конкретных функциях PHP (приведения типов, значения инициализации по умолчанию и т. д.).