|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
12.09.2011, 17:08 | #1 |
Уважаемый
Форумчанин
Регистрация: 04.07.2010
Сообщений: 318
|
Обработка исключений (файлы).
Парни, подскажите, как правильно использовать инструкцию try ...except в данном фрагменте кода:
Код:
даешь высокое напряжение
|
12.09.2011, 17:16 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
ну файл может быть и при исключении
Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
12.09.2011, 17:18 | #3 | |
Уважаемый
Форумчанин
Регистрация: 04.07.2010
Сообщений: 318
|
Цитата:
Код:
даешь высокое напряжение
|
|
12.09.2011, 17:42 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
да, только внутри блоков begin end лишние, ибо try except end уже блоки.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
12.09.2011, 17:45 | #5 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,792
|
А что FileExists() уже отменили?
I'm learning to live...
|
12.09.2011, 19:29 | #6 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Виталий, ну мне тебе обьяснять, что наличие файла, еще не дает возможности его открыт.
да и поймать исключение куда проще(+можно специфицировать исключения, чтоб выдать точную причину не возможности открытия) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
12.09.2011, 21:38 | #7 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Тогда уж:
Код:
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
12.09.2011, 21:46 | #8 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,238
|
Цитата:
Т.е. я бы лично обязательно проверил FileExists() если бы файла нет - то обработка по ветке алгоритма - "Файл не существует", если же файл есть, то открытие его в блоке try .. except. |
|
12.09.2011, 21:50 | #9 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
1)почему нельзя это сделать в обработчике except? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
12.09.2011, 21:51 | #10 | |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Цитата:
Пусть файла нет. Что мы хотим сделать? Показать сообщение "извините, не могу открыть файл, потому что его нет"? Но тогда у нас получается дублирование проверки: Код:
Но проверка через FileExists будет вполне нормальным, если нам, наоборот, нужно не показывать сообщение об ошибке: Код:
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обработка исключений | Ckomoroh | Общие вопросы Delphi | 6 | 21.03.2011 08:52 |
обработка исключений | user666 | Помощь студентам | 36 | 27.08.2010 18:00 |
Обработка исключений | _-Re@l-_ | Общие вопросы Delphi | 3 | 17.06.2010 08:53 |
обработка исключений | scray | PHP | 3 | 15.05.2010 15:02 |
Обработка исключений try... except | Kati | Помощь студентам | 5 | 07.03.2010 10:18 |