мое имхо как разобраться в куче подходов к обработке ошибок.
1.писать чистый код без нотисей и варнингов
$a[$i]++; // плохо
/**
* @return string
*/
function(){
if($error) return ; // плохо null вместо стринг
}
и многое другое о чём предупреждают современные редакторы
2. есть много исторических подходов как из функции уведомить о возникновении ошибки
return false; отрицательное значение и куча других извращений.
В настоящий момент применяется генерация исключений.
и обработка через
try{}catch(инстанс КлассаИсключения1){}catch(инстанс КлассаИсключенияN){}catch(\Exception)
даже обычные ошибки php перезаворачиваются в исключения.
3. ошибка должна быть обработана как можно ранее . Если возможно, то исправлена автоматически.
4. Сообщение пользователю должно объяснять, что он сделал неправильно . а не просто "Упс.."
5. Если по техническим причинам нормальный текст страницы не может быть выведен, и ее индексация не запрещена, нужно выдать http код ответа 50x и заголовок попробуйте через столько-то
1.писать чистый код без нотисей и варнингов
$a[$i]++; // плохо
/**
* @return string
*/
function(){
if($error) return ; // плохо null вместо стринг
}
и многое другое о чём предупреждают современные редакторы
2. есть много исторических подходов как из функции уведомить о возникновении ошибки
return false; отрицательное значение и куча других извращений.
В настоящий момент применяется генерация исключений.
и обработка через
try{}catch(инстанс КлассаИсключения1){}catch(инстанс КлассаИсключенияN){}catch(\Exception)
даже обычные ошибки php перезаворачиваются в исключения.
3. ошибка должна быть обработана как можно ранее . Если возможно, то исправлена автоматически.
4. Сообщение пользователю должно объяснять, что он сделал неправильно . а не просто "Упс.."
5. Если по техническим причинам нормальный текст страницы не может быть выведен, и ее индексация не запрещена, нужно выдать http код ответа 50x и заголовок попробуйте через столько-то