Фатальная ошибка что это значит
Фатальная ошибка, советы как исправить
В некоторых случаях фатальные ошибки являются спонтанными и временными, и вы можете безопасно продолжать использовать компьютер без каких-либо дополнительных проблем. Если неустранимые ошибки сохраняются, особенно если они повторяются при использовании одной и той же программы или выполнении одной и той же задачи, у вас могут быть проблемы с аппаратным или программным обеспечением на вашем компьютере.
Как появляются фатальные ошибки
Сообщения о фатальных ошибках обычно появляются, когда программа внезапно завершает работу из-за какого-либо сбоя или когда компьютер Windows внезапно отображает синий экран смерти перед тем, как завершить работу.
Когда происходит фатальная ошибка, вы обычно видите сообщение, подобное одному из следующих:
Когда вы получаете сообщение о фатальной ошибке, независимо от того, выглядит ли оно точно так же, как эти примеры, важно записать то, что вы видите. Конкретный тип ошибки и ряд цифр и букв, которые часто включаются, могут помочь вам отследить проблему.
Что вызывает фатальную ошибку?
Когда вы запускаете программу в операционной системе, такой как Windows, и программа сталкивается с чем-то неожиданным, она генерирует нечто, называемое исключением. Эти исключения позволяют программам работать без сбоев и работать нормально, даже когда происходит что-то неожиданное.
Когда программа получает или генерирует неизвестное или неожиданное исключение, результатом является фатальная ошибка. Этот же тип проблемы может также упоминаться как фатальное исключение или фатальная ошибка исключения.
В зависимости от серьезности ошибки вам может быть предложено продолжить выполнение программы, или программа может завершиться автоматически.
Как исправить фатальную ошибку
Неустранимые ошибки могут быть вызваны множеством неожиданных взаимодействий между различными программами, между программами и драйверами, между программами и оборудованием и даже физическими неисправностями или дефектами оборудования.
Следуйте этим исправлениям, чтобы докопаться до вашей фатальной ошибки.
1. Запишите свой код ошибки, чтобы найти конкретные инструкции. Некоторые фатальные ошибки являются довольно простыми, но большинство этих сообщений об ошибках содержат код, который может помочь вам найти конкретную информацию о вашей проблеме. Если ваша ошибка выглядит так:
Неустранимое исключение 0E произошло в xxxx: xxxxxxxx
0E это код, который может помочь направить вас в правильном направлении. Попробуйте выполнить поиск по коду вашей конкретной фатальной ошибки исключения и посмотрите, сможете ли вы найти конкретные инструкции.
2. Обновите свое программное обеспечение. Возможно, разработчики выпустили патч, предназначенный для решения вашей конкретной проблемы. Большинство программ и приложений либо загружают и устанавливают обновления автоматически, предоставляют вам возможность вручную загружать и устанавливать обновления, либо вам необходимо посетить веб-сайт разработчика и загрузить обновление.
3. Обновите свои драйверы. Неожиданное взаимодействие с драйверами может привести к фатальным ошибкам и другим проблемам, поэтому всегда полезно поддерживать драйверы в актуальном состоянии.
4. Удалите все недавно установленные программы. Возможен непредвиденный конфликт между программами или что-то могло быть повреждено в процессе установки. После удаления недавно установленных программ проверьте, не произошла ли критическая ошибка исключения. Если это не так, попробуйте переустановить программы. Если проблема возвращается, рассмотрите возможность отправки отчета об ошибке разработчику.
5. Восстановите Windows до более раннего состояния. Если у вас есть какие-либо точки восстановления системы, доступные до того, как ваши фатальные ошибки начали появляться, попробуйте восстановить Windows до одной из этих точек. Это эффективно откатит любые изменения, внесенные за этот промежуток времени, что исправит вашу фатальную ошибку, если она не связана с аппаратной проблемой.
6. Отключите все фоновые программы, которые в данный момент работают. Вы не видите эти программы на панели задач, но вы можете открыть диспетчер задач, чтобы закрыть их вручную. В большинстве случаев фоновые программы можно оставить в покое, но есть случаи, когда одна из этих программ может неожиданно конфликтовать с другой программой, вызывая фатальную ошибку.
7. Удалите свои временные файлы. Временные файлы обычно создаются, когда программы работают, и их можно оставить, когда программа закрывается. Если поврежденные временные файлы являются причиной ваших фатальных ошибок исключения, то удаление их решит проблему.
8. Освободите место на жестком диске. Проверьте, сколько места на вашем жестком диске, и удалите старые файлы, если ваш диск заполнен. Для бесперебойной работы мы рекомендуем оставить около 10 процентов от общего объема памяти.
9. Запустите chkdsk и дефрагментируйте свой жесткий диск. Если ваши фатальные ошибки вызваны проблемой с вашим жестким диском, то запуск chkdsk может определить проблему и либо устранить ее, либо, по крайней мере, сообщить вам, что происходит. Дефрагментация также может помочь решить эти проблемы.
10. Исключите проблемы с перегревом. Если ваш компьютер перегревается, вы можете увидеть множество фатальных ошибок в дополнение к множеству других симптомов.
Убедитесь, что вентиляторы работают и не забиты пылью или мусором. Если вам удобно разбирать компьютер, вы также можете проверить внутренние вентиляторы и радиатор. Аккуратно используйте консервированный воздух или вакуум, чтобы удалить пыль или мусор, которые мешают работе ваших вентиляторов или радиатора.
11. Проверьте вашу оперативную память (RAM) на наличие проблем. Ошибки памяти могут привести к фатальным ошибкам, хотя вы можете увидеть исключение памяти или ошибку исключения нехватки памяти. Чтобы исключить это, вы можете запустить приложение для тестирования памяти. Если вы узнали, что у вас ОЗУ неисправно, замените неисправный компонент или компоненты.
12. Проверьте остальные части вашего оборудования. Если вы сталкиваетесь с повторяющимися фатальными ошибками, и до сих пор они не прошли, у вас может быть скрытая проблема с некоторым оборудованием на вашем компьютере. В некоторых случаях замена компонентов, таких как жесткий диск или материнская плата, может исправить фатальные ошибки.
Фатальная ошибка: что это такое и как ее исправить
Неустранимая ошибка — это тип ошибки, приводящий к закрытию компьютерной программы или внезапному завершению работы всей операционной системы. Этот тип ошибки обычно ассоциируется с печально известным синим экраном смерти в Windows, но менее серьезные фатальные ошибки исключения приводят только к закрытию одной программы.
В некоторых случаях фатальные ошибки являются спонтанными и временными, и вы можете безопасно продолжать использовать компьютер без каких-либо дополнительных проблем. Если неустранимые ошибки сохраняются, особенно если они повторяются при использовании одной и той же программы или выполнении одной и той же задачи, у вас могут быть проблемы с аппаратным или программным обеспечением на вашем компьютере.
Как появляются фатальные ошибки
Сообщения о фатальных ошибках обычно появляются, когда программа внезапно завершает работу из-за какого-либо сбоя или когда компьютер Windows внезапно отображает синий экран смерти перед тем, как завершить работу.
Когда происходит фатальная ошибка, вы обычно видите сообщение, подобное одному из следующих:
Когда вы получаете сообщение о фатальной ошибке, независимо от того, выглядит ли оно точно так же, как эти примеры, важно записать то, что вы видите. Конкретный тип ошибки и ряд цифр и букв, которые часто включаются, могут помочь вам отследить проблему.
Что вызывает фатальную ошибку?
Когда вы запускаете программу в операционной системе, такой как Windows, и программа сталкивается с чем-то неожиданным, она генерирует нечто, называемое исключением. Эти исключения позволяют программам работать без сбоев и работать нормально, даже когда происходит что-то неожиданное.
Когда программа дается или генерирует неизвестное или неожиданное исключение, результатом является фатальная ошибка. Этот же тип проблемы может также упоминаться как фатальное исключение или фатальная ошибка исключения.
В зависимости от серьезности ошибки вам может быть предложено продолжить выполнение программы, или программа может завершиться автоматически.
Как исправить фатальную ошибку
Неустранимые ошибки могут быть вызваны множеством неожиданных взаимодействий между различными программами, между программами и драйверами, между программами и оборудованием и даже физическими сбоями или дефектами оборудования.
Следуйте этим исправлениям, чтобы докопаться до вашей фатальной ошибки.
Найдите свой код ошибки, чтобы найти конкретные инструкции. Некоторые фатальные ошибки являются довольно простыми, но большинство этих сообщений об ошибках содержат код, который может помочь вам найти конкретную информацию о вашей проблеме. Если ваша ошибка выглядит так:
Другой код, который обычно следует формату двух наборов чисел, разделенных двоеточием, также может помочь. Этот код с меньшей вероятностью даст результаты, но перед тем, как продолжить, стоит поискать быстрее.
Обновите свое программное обеспечение. Возможно, разработчики выпустили патч, предназначенный для решения вашей конкретной проблемы. Большинство программ и приложений либо загружают и устанавливают обновления автоматически, предоставляют вам возможность вручную загружать и устанавливать обновления, либо вам необходимо посетить веб-сайт разработчика и загрузить обновление.
Отключите все фоновые программы, которые в данный момент работают. Вы не видите эти программы на панели задач, но вы можете открыть диспетчер задач, чтобы закрыть их вручную. В большинстве случаев фоновые программы можно оставить в покое, но есть случаи, когда одна из этих программ может неожиданно конфликтовать с другой программой, вызывая фатальную ошибку.
Не закрывайте программы, с которыми вы не знакомы. Вы можете безопасно завершить работу любой программы, которую вы изначально открыли самостоятельно, но при этом случайные приложения и фоновые процессы могут сделать вашу систему нестабильной и привести к сбою компьютера.
Если вы используете Windows 10, ваш жесткий диск, вероятно, уже дефрагментирован. В Win 10 настройка по умолчанию позволяет системе выполнять дефрагментацию в фоновом режиме самостоятельно, без необходимости запрашивать ее. Но вы можете запустить инструмент проверки дефрагментации, чтобы убедиться. Это не повредит ничего и скажет вам, если ваш диск уже дефрагментирован или нет.
Не запускайте дефрагментацию на твердотельном диске (SSD). Если вы не уверены, есть ли у вас SSD, соблюдайте осторожность и не выполняйте дефрагментацию, пока не проконсультируетесь с экспертом.
Если вы используете консервированный воздух, держите его вертикально, чтобы избежать попадания жидкости внутрь компьютера. Будьте осторожны, никогда не прикасайтесь к компонентам внутри вашего компьютера, если у вас нет правильно установленного заземляющего ремешка. Если вам неудобно ковыряться в своем компьютере или ноутбуке, вам, возможно, придется обратиться за профессиональной помощью.
Проверьте остальную часть вашего оборудования. Если вы сталкиваетесь с повторяющимися фатальными ошибками, и до сих пор все прошло, у вас может быть скрытая проблема с некоторым оборудованием на вашем компьютере. В некоторых случаях замена компонентов, таких как жесткий диск или материнская плата, может исправить фатальные ошибки.
Этот уровень диагностики сложен, поэтому вам, возможно, придется обратиться за профессиональной помощью. Замена компонентов вслепую, в надежде, что это решит такую проблему, может быть очень дорогой.
Что значит Chassis intruded! Fatal Error… System Halted?
На некоторых материнских платах, в настройках BIOS которых есть опция, отвечающая за отслеживание вскрытия корпуса системного блока при включении может появляться сообщение Chassis intruded! Fatal Error… System Halted или Case open detected. При этом загрузка операционной системы может начинаться после нажатия кнопки F1 или не начинаться вообще.
В данной статье мы расскажем что значит Fatal error system halted при включении компьютера и как это сообщение убрать.
Что такое Fatal error system halted?
Данное сообщение появляется если на материнской плате есть опция отслеживания физического вскрытия корпуса и она активирована в настройках.
При появлении Fatal error system halted прежде всего проверьте плотно ли закрыты боковые крышки системного блока и закручены ли болты.
Если корпус закрыт плотно либо вы хотите работать с открытым корпусом и убрать фразу Fatal error system halted при включении, то нужно войти в BIOS и отключить опцию с названиями Chassis Intrusion, Case Open Warning или Intruder Detection, Reset Case open status, переведя ее в положение Disabled.
Отключение опции, отвечающей за отслеживание состояния вскрытия корпуса
Если же выше описанная опция BIOS, отвечающая за работу датчика открытия корпуса отключена, а сообщение Fatal error system halted появляется все равно, или вы просто не можете войти в BIOS, то тогда нужно поискать на материнской плате переключатель CHASSIS, который активируется перестановкой перемычки и отключает отслеживание вскрытия корпуса.
Перемычка, отвечающая за состояние опции отслеживая вскрытия корпуса
В самом крайнем случае, если ничего не выходит попробуйте вытащить батарейку BIOS на 5 минут, затем вставьте ее, плотно закрутив корпус с обеих сторон и включите компьютер. Ошибка Chassis intruded! Fatal Error… System Halted должна пропасть.
Известны случаи, когда ошибка Chassis intruded! Fatal Error… System Halted появлялась из-за того, что материнская плата не была прикручена всеми болтами к корпусу. Установка недостающих болтов убирала сообщение Chassis intruded! Fatal Error… System Halted.
PHP для начинающих. Обработка ошибок
Не совершает ошибок только тот, кто ничего не делает, и мы тому пример — сидим и трудимся не покладая рук, читаем Хабр 🙂
В этой статье я поведу свой рассказа об ошибках в PHP, и о том как их обуздать.
Ошибки
Разновидности в семействе ошибок
Перед тем как приручать ошибки, я бы рекомендовал изучить каждый вид и отдельно обратить внимание на самых ярких представителей.
Чтобы ни одна ошибка не ушла незамеченной потребуется включить отслеживание всех ошибок с помощью функции error_reporting(), а с помощью директивы display_errors включить их отображение:
Фатальные ошибки
Самый грозный вид ошибок — фатальные, они могут возникнуть как при компиляции, так и при работе парсера или PHP-скрипта, выполнение скрипта при этом прерывается.
E_PARSE
Это ошибка появляется, когда вы допускаете грубую ошибку синтаксиса и интерпретатор PHP не понимает, что вы от него хотите, например если не закрыли фигурную или круглую скобочку:
Или написали на непонятном языке:
Лишние скобочки тоже встречаются, и не так важно круглые либо фигурные:
Отмечу один важный момент — код файла, в котором вы допустили parse error не будет выполнен, следовательно, если вы попытаетесь включить отображение ошибок в том же файле, где возникла ошибка парсера то это не сработает:
E_ERROR
Это ошибка появляется, когда PHP понял что вы хотите, но сделать сие не получилось ввиду ряда причин. Эта ошибка так же прерывает выполнение скрипта, при этом код до появления ошибки сработает:
Не был найден подключаемый файл:
Было брошено исключение (что это за зверь, расскажу немного погодя), но не было обработано:
При попытке вызвать несуществующий метод класса:
Отсутствия свободной памяти (больше, чем прописано в директиве memory_limit) или ещё чего-нить подобного:
Очень часто встречается при чтении либо загрузки больших файлов, так что будьте внимательны с вопросом потребляемой памяти
Рекурсивный вызов функции. В данном примере он закончился на 256-ой итерации, ибо так прописано в настройках xdebug (да, данная ошибка может проявиться в таком виде только при включении xdebug расширения):
Не фатальные
Данный вид не прерывает выполнение скрипта, но именно их обычно находит тестировщик. Именно такие ошибки доставляют больше всего хлопот начинающим разработчикам.
E_WARNING
Бывает, если используешь неправильный тип аргументов при вызове функций:
Их очень много, и перечислять все не имеет смысла…
E_NOTICE
Это самые распространенные ошибки, мало того, есть любители отключать вывод ошибок и клепают их целыми днями. Возникают при целом ряде тривиальных ошибок.
Когда обращаются к неопределенной переменной:
Когда обращаются к несуществующему элементу массива:
Когда обращаются к несуществующей константе:
Когда не конвертируют типы данных:
Для избежания подобных ошибок — будьте внимательней, и если вам IDE подсказывает о чём-то — не игнорируйте её:
E_STRICT
Данный тип ошибок актуален для PHP версии 5.6, и практически все их выпилили из
7-ки. Почитать подробней можно в соответствующей RFC. Если кто знает где ещё остались данные ошибки, то напишите в комментариях
E_DEPRECATED
Так PHP будет ругаться, если вы используете устаревшие функции (т.е. те, что помечены как deprecated, и в следующем мажорном релизе их не будет):
В моём редакторе подобные функции будут зачёркнуты:
Пользовательские
Этот вид, которые «разводит» сам разработчик кода, я уже давно их не встречал, и не рекомендую вам ими злоупотреблять:
Теперь, когда вы познакомились с большинством видов и типов ошибок, пора озвучить небольшое пояснение по работе директивы display_errors :
Приручение
Для работы с ошибками в PHP существует 3 функции:
У вас не получится назначить более одной функции для обработки ошибок, хотя очень бы хотелось регистрировать для каждого типа ошибок свой обработчик, но нет — пишите один обработчик, и всю логику отображения для каждого типа описывайте уже непосредственно в нём
С обработчиком, который написан выше есть одна существенная проблема — он не ловит фатальные ошибки, и при таких ошибках вместо сайта пользователи увидят лишь пустую страницу, либо, что ещё хуже, сообщение об ошибке. Дабы не допустить подобного сценария следует воспользоваться функцией register_shutdown_function() и с её помощью зарегистрировать функцию, которая всегда будет выполняться по окончанию работы скрипта:
Данная функция будет срабатывать всегда!
Но вернёмся к ошибкам, для отслеживания появления в коде ошибки воспользуемся функцией error_get_last(), с её помощью можно получить информацию о последней выявленной ошибке, а поскольку фатальные ошибки прерывают выполнение кода, то они всегда будут выполнять роль «последних»:
Хотел обратить внимание, что данный код хоть ещё и встречается для обработки ошибок, и вы возможно вы даже с ним столкнётесь, но он потерял актуальность начиная с 7-ой версии PHP. Что пришло на замену я расскажу чуть погодя.
О прожорливости
Проведём простой тест, и выясним — сколько драгоценных ресурсов кушает самая тривиальная ошибка:
В результате запуска данного скрипта у меня получился вот такой результат:
Теперь добавим ошибку в цикле:
Результат ожидаемо хуже, и на порядок (даже на два порядка!):
Вывод однозначен — ошибки в коде приводят к лишней прожорливости скриптов — так что во время разработки и тестирования приложения включайте отображение всех ошибок!
Тестирование проводил на различных версиях PHP и везде разница в десятки раз, так что пусть это будет ещё одним поводом для исправления всех ошибок в коде
Где собака зарыта
В PHP есть спец символ «@» — оператор подавления ошибок, его используют дабы не писать обработку ошибок, а положится на корректное поведение PHP в случае чего:
Если вы в такой способ подавляете ошибки, то это уменьшает нагрузку на процессор в сравнении с тем, если вы их просто скрываете (см. сравнительный тест выше), но в любом случае, подавление ошибок это зло
Исключения
В эру PHP4 не было исключений (exceptions), всё было намного сложнее, и разработчики боролись с ошибками как могли, это было сражение не на жизнь, а на смерть… Окунуться в эту увлекательную историю противостояния можете в статье Исключительный код. Часть 1. Стоит ли её читать сейчас? Не могу дать однозначный ответ, лишь хочу заметить, что это поможет вам понять эволюцию языка, и раскроет всю прелесть исключений.
Исключения — исключительные событие в PHP, в отличии от ошибок не просто констатируют наличие проблемы, а требуют от программиста дополнительных действий по обработке каждого конкретного случая.
К примеру, скрипт должен сохранить какие-то данные в кеш файл, если что-то пошло не так (нет доступа на запись, нет места на диске), генерируется исключение соответствующего типа, а в обработчике исключений принимается решение — сохранить в другое место или сообщить пользователю о проблеме.
В каких случаях стоит применять исключения:
Соответственно ловить данные исключения будем примерно так:
В данном примере приведен очень простой сценарий обработки исключений, когда у нас любая исключительная ситуация обрабатывается на один манер. Но зачастую, различные исключения требуют различного подхода к обработке, и тогда следует использовать коды исключений и задать иерархию исключений в приложении:
Теперь, если использовать эти исключения то можно получить следующий код:
Важно помнить, что Exception — это прежде всего исключительное событие, иными словами исключение из правил. Не нужно использовать их для обработки очевидных ошибок, к примеру, для валидации введённых пользователем данных (хотя тут не всё так однозначно). При этом обработчик исключений должен быть написан в том месте, где он будет способен его обработать. К примеру, обработчик для исключений вызванных недоступностью файла для записи должен быть в методе, который отвечает за выбор файла или методе его вызывающем, для того что бы он имел возможность выбрать другой файл или другую директорию.
Чтобы избежать подобной ситуации следует использовать функцию set_exception_handler() и установить обработчик для исключений, которые брошены вне блока try-catch и не были обработаны. После вызова такого обработчика выполнение скрипта будет остановлено:
Ещё расскажу про конструкцию с использованием блока finally — этот блок будет выполнен вне зависимости от того, было выброшено исключение или нет:
Для понимания того, что это нам даёт приведу следующий пример использования блока finally :
Т.е. запомните — блок finally будет выполнен даже в том случае, если вы в блоке catch пробрасываете исключение выше (собственно именно так он и задумывался).
Для вводной статьи информации в самый раз, кто жаждет ещё подробностей, то вы их найдёте в статье Исключительный код 😉
PHP7 — всё не так, как было раньше
Так, вот вы сейчас всю информацию выше усвоили и теперь я буду грузить вас нововведениями в PHP7, т.е. я буду рассказывать о том, с чем вы будете сталкиваться работая над современным PHP проектом. Ранее я вам рассказывал и показывал на примерах какой костыль нужно соорудить, чтобы отлавливать критические ошибки, так вот — в PHP7 это решили исправить, но? как обычно? завязались на обратную совместимость кода, и получили хоть и универсальное решение, но оно далеко от идеала. А теперь по пунктам об изменениях:
Сложно? Теперь на примерах, возьмём те, что были выше и слегка модернизируем:
В результате ошибку поймаем и выведем:
И чуть-чуть деталей:
TypeError — для ошибок, когда тип аргументов функции не совпадает с передаваемым типом:
ArithmeticError — могут возникнуть при математических операциях, к примеру когда результат вычисления превышает лимит выделенный для целого числа:
AssertionError — редкий зверь, появляется когда условие заданное в assert() не выполняется:
При настройках production-серверов, директивы zend.assertions и assert.exception отключают, и это правильно
Полный список предопределённых исключений вы найдёте в официальном мануале, там же иерархия SPL исключений.
При написании данного раздела были использованы материалы из статьи Throwable Exceptions and Errors in PHP 7.
Единообразие
— Там ошибки, тут исключения, а можно это всё как-то до кучи сгрести?
Да запросто, у нас же есть set_error_handler() и никто нам не запретит внутри оного обработчика бросить исключение:
Но данный подход с PHP7 избыточен, со всем теперь справляется Throwable :
Отладка
Иногда, для отладки кода, нужно отследить что происходило с переменной или объектом на определённом этапе, для этих целей есть функция debug_backtrace() и debug_print_backtrace() которые вернут историю вызовов функций/методов в обратном порядке:
В результате выполнения функции debug_print_backtrace() будет выведен список вызовов приведших нас к данной точке:
Assert
Функция assert() поменяла своё поведение при переходе от версии 5.6 к 7.0, и ещё сильней всё поменялось в версии 7.2, так что внимательней читайте changelog’и PHP 😉
Первый случай — это когда вам надо написать TODO прямо в коде, да так, чтобы точно не забыть реализовать заданный функционал:
В результате выполнения данного кода получим E_WARNING :
PHP7 можно переключить в режим exception, и вместо ошибки будет всегда появляться исключение AssertionError :
При необходимости, можно выбрасывать произвольное исключение:
Второй вариант использования — это создание некоего подобия TDD, но помните — это лишь подобие. Хотя, если сильно постараться, то можно получить забавный результат, который поможет в тестировании вашего кода:
Третий вариант — некое подобие на контрактное программирование, когда вы описали правила использования своей библиотеки, но хотите точно убедится, что вас поняли правильно, и в случае чего сразу указать разработчику на ошибку (я вот даже не уверен, что правильно его понимаю, но пример кода вполне рабочий):
Если вас заинтересовали контракты, то специально для вас у меня есть ссылочка на фреймворк PhpDeal.
Никогда не используйте assert() для проверки входных параметров, ведь фактически assert() интерпретирует первый параметр (ведёт себя как eval() ), а это чревато PHP-инъекцией. И да, это правильное поведение, ведь если отключить assert’ы, то все передаваемые аргументы будут проигнорированы, а если делать как в примере выше, то код будет выполняться, а внутрь отключенного assert’a будет передан булевый результат выполнения. А, и это поменяли в PHP 7.2 🙂
Если у вас есть живой опыт использования assert() — поделитесь со мной, буду благодарен. И да, вот вам ещё занимательно чтива по этой теме — PHP Assertions, с таким же вопросом в конце 🙂
В заключение
Я за вас напишу выводы из данной статьи:
Это репост из серии статей «PHP для начинающих»:
Спасибо Максиму Слесаренко за помощь в написании статьи.