Вурдалак
Мне, по большому счету, никакой еррор хендлер не нужен. и переносить ничего никуда не надо.
Возникшая нештатная ситуация сама уйдет в лог, я её там прочту и настучу по голове админу.
ты путаешь штатную работу программы с ошибками.
ты пойми, иф в данном случае - не часть обработчика ошибок а часть логики программы.
программы, которая не должна порождать ошибок при штатной работе.
ошибок и так дофига бывает - зачем плодить новые на пустом месте?
if(exists()) - это то же самое, что if(isset($_GET['search'])). Это не "борьба с ошибками", а ветвление программы. Есть переменная - такой код выполняем, нету - другой.
здесь вообще не идет речь об ошибках.
это логика программы.
если у нас программа предусматривает состояния, когда переменная может быть, а может и не быть - надо проверять её существование.
то же самое и с твоим файлом кэша.
Мы до ошибки здесь даже не доходим.
У меня на работе был случай, аналогичный обсуждаемому - @mkdir()
каталог может существовать, в этом случае будет ошибка - мы её задавим.
ага. это всё работало ровно до тех пор, пока линукс где-то там выбрал какие-то свои лимиты и перестал создавать директории.
после того, как ошибка была, все-таки, найдена вслепую
я заменил код на if (!exists) mkdir()
теперь mkdir вызывается тольо тогда, когда она действительно нужна. это - ЛОГИКА ПРОГРАММЫ
а ошибка теперь вылезает, если программа не может создать папку. это - ОШИБКА.
как эти вещь можно между собой путать - я не понимаю.
возможно, я один тут такой дремучий, сидящий на поддержке в этих ошибках по уши, а остальные - лихие девелоперы, которым главное наваять и сдать заказчику, а дальше хоть трава не расти.
возможно, это только мне критично, чтобы программа в штатном режиме не генерила БЕССМЫСЛЕННЫХ ошибок,
НО
при возникновениии реальной ошибки - тут же меня информировала
но в этом случае поставьте себе еррор репортинг в ноль и вообще не запаривайтесь