А это-то зачем? Чтобы вернутся к тонее if'ов вместо исключений? В exception'е и так будет вся информация об ошибке.функция при неудаче НЕ ДОЛЖНА кидать сообщение об ошибке, а должна возвращать код ошибки.
Не согласен: операция не атомарна, и нет разницы, есть проверка или нет: все равно может варнинг выскочить.if (file_exists($file)) unlink($file)
лучше, чем
@unlink($file)
от собаки отказались - и то хлеб.Вот именно поэтому try-catch и лучше:
Мысль о том, что можно сделать и то и другое тебе не приходила?Поэтому *только* try/catch.
Ну, значит в catch ничего не будет.Вурдалак
у меня нет блока else.
Если файл есть - его удаляю.
если нету - ничего не делаю.
А зачем делать первое? Оно лишь изменяет количественную вероятность получить "файла не существует".Мысль о том, что можно сделать и то и другое тебе не приходила?
Фанат, ты так говоришь, словно я что-то должен делать. Я лишь перенёс твой вариант на try-catch, как ты и просил. С твоим if'ом вылезет ошибка, а у меня — нет. Ты хотел доказать, что сам не прав? Ты это сделал.админ c перепою воткнул open_basedir
приложение перестало работать
твои действия?
Я не могу в случае, если я пишу библиотеку, которая будет использоваться в неизвестно каком проекте и каким обработчиком ошибок. А без хендлера и без собаки не обойтись уже.ты можешь вручную обработчик ошибок подключить (как ты это делаешь с autoloader-классом).
Ставить и снимать в каждом публичном методе библиотеки. Хотя я бы для совместимости предпочёл бы кучу if'ов. Глушить ошибку всё равно не требуется: это уже на совести пользователя библиотеки.т.е. " по завершению работы " чего?