Разница в PHP между уведомлением и предупреждением
При написании ошибок кода могут появляться предупреждения и уведомления. Я знаю идею ошибок. Я полагаю, что предупреждение должно сообщить вам о чем-то, что может вызвать ошибку, но не является ли это исключением? Я полагаю, что уведомление не является сообщением о том, что делает правильно;).
Это немного сбивает меня с толку. Может кто-нибудь сказать разницу между этими двумя и способ обработки этих сообщений.
Ответы
Ответ 1
Уведомление - это консультативное сообщение, означающее, что "вы, вероятно, не должны делать то, что делаете, но я позволю вам все равно"
Предупреждение - это сообщение, в котором говорится: "Вы делаете что-то не так, и это может привести к ошибкам в будущем, поэтому, пожалуйста, исправьте это".
Оба уведомления и предупреждения не остановят выполнение вашего script, хотя я бы посоветовал вам серьезно относиться к ним и стремиться не иметь даже одного уведомления в ваших приложениях.
Ответ 2
Здесь объясняются различия: http://www.php.net/manual/en/errorfunc.constants.php
Specifficaly:
Ошибка:
Неустранимая ошибки во время выполнения. Они указывают ошибки, которые невозможно восстановить, например проблема с распределением памяти. Выполнение script приостановлено.
Предупреждения:
Предупреждения во время выполнения (нефатальные ошибки). Выполнение script не останавливается.
Примечания:
Значения времени выполнения. Укажите, что script обнаружил что-то, что может указывать на ошибку, но может также произойти в обычном ходе работы script.
Ответ 3
- ВНИМАНИЕ: это короткое сообщение для того, чтобы сказать, что делать или что не делать.
- ПРЕДУПРЕЖДЕНИЕ: оккультирует во время выполнения. Выполнение кода продолжается.
- ОШИБКА: это также происходит во время выполнения, выполнение завершается.
Ответ 4
Я не буду повторять конкретные значения, которые были полностью покрыты другими ответами.
Предупреждения и уведомления указывают разные уровни "плохости" для вещей, которые вы можете делать неправильно, но я с руководствами PEAR/Zend на этом: вы всегда должны указывать на E_STRICT, а это значит, что вы никогда не должны поднимать предупреждения или уведомления.
Если вы следуете за совместимостью с E_STRICT, различие между уведомлениями и предупреждениями является излишним, если оба они считаются "Нефатальными ошибками, которые вы должны убедиться, что этого не произойдет" - они оба по существу предупреждают.
Ответ 5
- УВЕДОМЛЕНИЕ. Это сообщение, в котором говорится, что вы должны делать, и что вы не должны делать.
- ПРЕДУПРЕЖДЕНИЕ. Это происходит во время выполнения. Но это не прерывает выполнение кода.
- ОШИБКА. Он также встречается во время выполнения, но выполнение программы не продолжается, завершается.
Ответ 6
Согласно Руководство по PHP:
- ПРЕДУПРЕЖДЕНИЕ. Предупреждения во время выполнения (нефатальные ошибки). Выполнение script не приостанавливается.
- УВЕДОМЛЕНИЕ - уведомления о времени выполнения. Укажите, что script обнаружил что-то, что может указывать на ошибку, но может также произойти в обычном ходе работы script.
Лично я думаю, что уведомления указывают на некоторые части кода, которые потенциально могут привести к некоторым проблемам, но которые были введены намеренно. В таких случаях программисту считается "знать, что он делает", и знать о некоторых конкретных функциях PHP (тип приведения, значения инициализации по умолчанию и т.д.).