ловля исключений из другого потока

PHP имеет свой собственный встроенный класс, который можно использовать для распаковки или извлечения содержимого из zip-файла. Класс ZipArchive. Ниже приведен простой и простой PHP-код, который будет извлекать zip-файл и помещать его в конкретный каталог:

open('dummy.zip');
$zip_obj->extractTo('directory_name/sub_dir');
?>

Если вы хотите, чтобы некоторые дополнительные функции были ниже, это улучшенный код, который проверяет, файл существует или нет:

open('dummy.zip') === TRUE) {
   $zip_obj->extractTo('directory/sub_dir');
   echo "Zip exists and successfully extracted";
}
else {
   echo "This zip file does not exists";
}
?>

Источник: Как распаковать или извлечь zip-файлы в PHP?

13
задан Even Mien 15 October 2008 в 20:18
поделиться

4 ответа

Таким образом, Вы используете, Вызывают в Маршалл назад к потоку UI, взглядами его - который является точно, что необходимо сделать. Я лично использовал бы Action< Исключение> для пользы простоты, и возможно BeginInvoke вместо Вызывают, но в основном Вы делаете правильную вещь.

17
ответ дан 1 December 2019 в 21:39
поделиться

Используйте класс BackgroundWorker в платформе.NET вместо этого. Это - лучшая практика для выполнения работы UI над другим потоком.

5
ответ дан 1 December 2019 в 21:39
поделиться

Вероятно, лучший путь состоял бы в том, чтобы передать делегата в поток вместо ссылки на саму форму.

2
ответ дан 1 December 2019 в 21:39
поделиться

Выдавание исключения между потоками не легко и вероятно не желаемое. вместо этого можно передать исключение с помощью структуры совместно используемых данных или переменной и использовать waitHandle для ожидания на 1-м потоке.

1
ответ дан 1 December 2019 в 21:39
поделиться
Другие вопросы по тегам:

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