|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.06.2009, 14:37 | #1 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Try..except..problem
Проблема с использованием Try..Except:
Код:
P.S. Say - строка, которая вводится, AddMemoString - процедура вывода строки компьютером по виду напоминает печатную машинку. CDir - директория Num - номер требуемой инфы.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
29.06.2009, 14:42 | #2 |
Форумчанин
Регистрация: 04.06.2008
Сообщений: 102
|
зачем тебе вообще там try except можно гораздо проще сделать:
If Pos('Покажи информацию номер', Say)=0 then begin Num:=StrToInt(Copy(Say,25,Length(Sa y)-25)); AssignFile(F,CDir+'\U-CODE\'+IntToStr(Num)+'.txt'); Reset(F); ReadLn(F,S); AddMemoString(S); CloseFile(F); end else AddMemoString('Неправильно указан номер записи или записи с таким номером не существует');
Keep it simple, stupid
|
29.06.2009, 14:48 | #3 |
Форумчанин
Регистрация: 04.06.2008
Сообщений: 102
|
и вообще какая логика я непонел, если строка "'Покажи информацию номер" не найдена то что-то считывается из файла а если найдена то "'Неправильно указан номер записи или записи с таким номером не существует" ????
Keep it simple, stupid
|
29.06.2009, 15:25 | #4 | |
Форумчанин
Регистрация: 22.02.2009
Сообщений: 875
|
Цитата:
Код я бы сделал код хотя-бы таким (хоть вложенные исключения и не очень хороши): Код:
Если существует, то замените строчку: Код:
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
|
|
29.06.2009, 16:30 | #5 | |||
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Опять не реагирует. Похоже придется рассматривать типы ошибок по on ... do. По-моему ошибка буквы вместо цифры - EConvertError, а открытия файла - EAccessViolation. Но до этого пробовал через типы ошибок и все равно ничего не добился.
Цитата:
Цитата:
Цитата:
По ходу нашел кое-что: В посе указывал нль вместо 1. теперь он игнорируя try..except выводит ошибку. Хоть что-то...
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ Последний раз редактировалось Alex Cones; 29.06.2009 в 17:22. |
|||
29.06.2009, 17:37 | #6 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
Поставь дополнительные проверки:
Код:
|
29.06.2009, 18:17 | #7 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
О! Мысля! Не переводить N в интеджер, а оставить в стринге = проверка только файлекзистс и ни каких тру..екс.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Xanoy! with smol problem | artush1984 | Общие вопросы C/C++ | 1 | 27.04.2009 23:51 |
Static Void Problem | RIO | Общие вопросы .NET | 2 | 02.05.2008 16:52 |
Что делать..:(((много читать)Global problem! | Elm0 | Свободное общение | 24 | 28.06.2007 18:13 |