Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
__PION__
955 / 796 / 85
Регистрация: 21.07.2010
Сообщений: 3,521
#1

Продолжение работы после исключения - PHP

14.06.2013, 13:15. Просмотров 927. Ответов 3
Метки нет (Все метки)

Комрады, объясните такую вещьч -
есть скрипт, который запускается раз в сутки, смотрит в БД пути к файлам, идет туда, читает их, если формат подходящий (кроме - картинок, архивов.. и т.п.) и ложит в другую таблицу текст из только что отсканированного файла.
Мне нужно, чтобы скрипт продолжал работать даже если он на пути встретит, например, картинку, а не останавливался с выводом ошибки.
Как сделать? использовать if или try?
вот код
PHP
1
2
3
if (in_array($ext, $enableFiles)) {
   // тут выполняем нужные действия
}
и с try
PHP
1
2
3
4
5
6
7
8
9
try {
  if (!in_array($ext, $enableFiles)) {
     throw new Exception('Неверное расширение файла!');
  } else {
     // тут выполняем нужные действия
  }
} catch (Exception $e) {
                
}

http://www.cyberforum.ru/php-beginners/thread1104191.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.06.2013, 13:15
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Продолжение работы после исключения (PHP):

Flush() и продолжение работы скрипта
Если скрипт после flush() больше ничего не выводит в браузер, а продолжает...

Получить response body после die или окончания работы скрипта
Доброго вечера, весь в мыле, выручайте, есть скрипт он работает, и в каких...

Продолжение в изучение PHP
Привет всем, я нужен совет ваш, как профи. Я работаю системным администратором...

В продолжение темы улучшить ссылку
================== include не работает. если делать так как выше - к...

Продолжение $i++ в таблице с постраничной навигацией
Здравствуйте, у меня возникла проблема в таблице на сайте. Проблема состоит в...

3
hunker
86 / 65 / 4
Регистрация: 03.02.2013
Сообщений: 176
14.06.2013, 13:33 #2
Имхо, и так, и так. Напиши 2 функции, в одной оставь проверку бд, в другой вызывай первую. Со временем может будет такое, что проверка будет производиться по разным параметрам, исключения будут выкидываться разные, а функция, которая будет вызывать вторую и ловить Exception'ы, будет оставаться неизменной.
Но это сугубо моё субъективное мнение)

Добавлено через 4 минуты
Собсно:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function first()
{
    if (!in_array($ext, $enableFiles)) {
     throw new Exception('Неверное расширение файла!');
  } elseif (false) {
     throw new Exception('Suffer');
  } else {
     // тут выполняем нужные действия
  }
}
 
function second()
{
    try {
        $this->first()
    } catch (Exception $e) {
        return $e->getMessage();
    }
}
1
__PION__
955 / 796 / 85
Регистрация: 21.07.2010
Сообщений: 3,521
14.06.2013, 14:09  [ТС] #3
hunker, а скрипт не остановится здесь
Цитата Сообщение от hunker Посмотреть сообщение
try {
$this->first()
если вдруг картинка попадется?
0
hunker
86 / 65 / 4
Регистрация: 03.02.2013
Сообщений: 176
14.06.2013, 14:30 #4
Нет, не остановит. Если хочешь сохранять результат работы скрипта, какие файлы являются картинками, можешь в выбросе исключений это делать, а потом при вызове сохранять в файл. Если тебе просто надо, чтоб скрипт обходил стороной картинки, вообще не выбрасывай исключения в первой функции.
Твой первый вариант как раз подходит чтобы просто обходить стороной файлы с ненужным расширением.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.06.2013, 14:30
Привет! Вот еще темы с решениями:

Как вместо вывода echo выполнить продолжение скрипта
Здравствуйте! Есть станица php. В ней определенный код выполняет проверку на...

Продолжение работы после исключения
Здравствуйте. Возникла следующая ситуация: обрабатываю исключение в программе...

Продолжение работы цикла при возникновении исключения
У меня есть цикл который обрабатывает тексты. for (int i = 0; i < n; i++) ...

Продолжение работы кода после падения
Написал программу для авторестарта и отправки команд по расписанию для списка...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru