@Qwyu_4iLofK

Не создается объект- как выбросить исключение?

1.Вопрос, если в конструкторе какая-то ошибка (возможно в коде, или нехватка памяти), то как выбросить исключение?
2.Как проверить в конструкторе на нехватку памяти?( если сначала создается объект, потом перестает)?
(Скрипт работает по крону)
3.Как проверить в конструкторе на код ( если сначала создается объект, потом перестает)?
(Скрипт работает по крону)
4.Если есть несколько классов, и конструктор у всех берет одни и те же данные из бд, то как лучше поступают: создают базовый класс, и от него наследуют?

Есть скрипт, он запускается по крону
file_put_contents($dir, "1" . PHP_EOL, FILE_APPEND);
try {
file_put_contents($dir, "133" . PHP_EOL, FILE_APPEND);
	$nn=new Class();
file_put_contents($dir, "2" . PHP_EOL, FILE_APPEND); //то доходит, то не доходит, а исключение не взбасывается, если не доходит
    
} catch (Exception $e) {
   file_put_contents($dir, "92" . PHP_EOL, FILE_APPEND); //до туда не доходит...
}


Проблема в том, что до деструктора скрипт не доходит, все стоит на позициях file_put_contents($dir, "133" . PHP_EOL, FILE_APPEND); (в следующий раз цикла по крону то же самое, пока не прорвет конструктор)
  • Вопрос задан
  • 90 просмотров
Решения вопроса 1
glaphire
@glaphire Куратор тега PHP
PHP developer
Утечки памяти невозможно контролировать динамически, Вам нужно проанализировать код на тестовых данных и отрефакторить. По поводу п.4 - добавьте в таблицу какую-то колонку для обозначения, что строка в работе, интерфейс это средство языка, а не задание логики обработки.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы