С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
1 / 1 / 1
Регистрация: 21.12.2014
Сообщений: 195

Обработка исключений при чтении файла

29.01.2016, 23:08. Показов 967. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, нудно обработать ошибки при чтении файла, но так как действие при чтении будет большое не хотелось бы захламлять код скобками, т е у нас есть скрипт чтения файла к примеру
PHP
1
2
3
4
5
6
7
$fp = fopen('file.txt', 'r');
while (!feof($fp))
{
    $mytext = fgets($fp, 999);
    echo $mytext."<br />";
}
fclose($fp);
При чтении некоторых строк, которые не попадают под критерий, хотелось бы чтоб скрипт переходил на следующюю строку, такой вариант не подходит
PHP
1
2
3
4
5
6
7
8
9
10
11
12
$fp = fopen('file.txt', 'r');
$counter = 0;
while (!feof($fp))
{
    $counter++;
    $mytext = fgets($fp, 999);
    if(!($counter == 2))
    {
        echo $counter.':'.$mytext."<br />";
    }
}
fclose($fp);
Так как хочу избавиться от скобок, хотелось бы в начале обработать все исключения и в случае успеха продолжить, т е типа так
PHP
1
2
3
4
5
6
7
8
9
10
11
$fp = fopen('file.txt', 'r');
$counter = 0;
while (!feof($fp))
{
    $counter++;
    $mytext = fgets($fp, 999);
    if($counter == 2)
        break;
    echo $counter.':'.$mytext."<br />";
}
fclose($fp);
Но так он прерывает функцию, с continue тоже не получается, есть идеи? буду признателен
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.01.2016, 23:08
Ответы с готовыми решениями:

"Нарушение прав доступа при чтении по адресу" при чтении структур из бинарного файла
Пытаюсь разобраться со структурами в бинарных файлах. Допустим, есть массив структур. Записываю его в бинарный файл (закомментированный...

Обработка исключений + чтение из файла
Доброе время суток! Помогите, пожалуйста. Задание такое: прочитать строку из файла, если файл отсутствует записать в переменную иное...

Обработка исключений при наследовании
В следующей программе на выводе получаю C() B() C::Msg Проследила и вижу, что сначала throw вызывает конструктор B, потом...

5
 Аватар для YakobsEA
268 / 96 / 75
Регистрация: 04.12.2015
Сообщений: 369
Записей в блоге: 1
30.01.2016, 20:48
А почему это с continue не получается?
Должно получаться.

В качестве извращённого решения можно использовать try, намеренно генерируя ошибку при выполнении Вашего условия...
0
1 / 1 / 1
Регистрация: 21.12.2014
Сообщений: 195
30.01.2016, 22:00  [ТС]
У меня неполучается с continue, т е выводит все без исключения, даже те которые должен пропустить, все равно выводит.. C try конечно можно попробовать, но какая ошибка будет генерироваться?
0
 Аватар для YakobsEA
268 / 96 / 75
Регистрация: 04.12.2015
Сообщений: 369
Записей в блоге: 1
30.01.2016, 22:06
Деление на ноль, например... (если (ваше условие), то делим на 0 не важно что).

Можете показать цикл continue (как у Вас это было реализовано)?
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
30.01.2016, 22:12
Цитата Сообщение от Лукаа Посмотреть сообщение
PHP
1
if(!($counter == 2))
Что это за чудеса такие? А != чем не устраивает?
PHP
1
2
3
4
if($counter != 2)
{
...
}
Цитата Сообщение от Лукаа Посмотреть сообщение
Но так он прерывает функцию, с continue тоже не получается, есть идеи?
Что значит "не получается"? Что за формулировка проблемы "не получается"? Могу в ответ сказать только - получается.

PHP
1
2
if($counter == 2)
    continue;
0
 Аватар для YakobsEA
268 / 96 / 75
Регистрация: 04.12.2015
Сообщений: 369
Записей в блоге: 1
30.01.2016, 22:24
Вот код Ваш немного переделанный:
PHP
1
2
3
4
5
6
7
8
9
<?php
$i = 0;
while ($i < 9)
{
    $i++;
    if($i >= 2 && $i <= 7)
        continue;
    echo $i;
}
Проверил на ресурсе http://phptester.net/
Работает...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.01.2016, 22:24
Помогаю со студенческими работами здесь

Обработка исключений. Как организовать общий обработчик исключений?
У меня есть последовательность вызова методов для внесения данных в таблицу БД. Сам метод внесения данных. Он генерирует исключение ...

Обработка исключений при AJAX запросах
Здравствуйте. Столкнулся с проблемой исключений при AJAX запросах. Создал для эксперимента в контроллере метод public...

Обработка исключений при вводе числа
Здравствуйте! Как для данной строчки прописать исключение ( вводиться должны строго цифры 0-3), с помощью try/сatch? x =...

Обработка исключений при арифметических операциях
Для заданного натурального k и действительного x подсчитать следующее выражение: Помогите пожалуйста. по заданию: 1)...

Обработка исключений при реализации интерфейса
Подскажите, пожалуйста, с таким вопросом. Есть интерфейс типа: interface SomeInterface { String doSomethingInFile(String fileName)...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru