![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 21.05.2009
Сообщений: 34
|
![]()
Не работает try... except. Помогите найти ошибку.
procedure TForm1.Button17Click(Sender: TObject); var k1,k2,n:real; Y1,Y2:real; begin try k1:=StrToInt(Edit26.Text); k2:=StrToInt(Edit27.Text); n:=StrToInt(Edit28.Text); Y1:=(100*k1)/n; Y2:=(100*k2)/n; Edit29.Text:=FloatToStr(Y1); Edit30.Text:=FloatToStr(Y2); except on EZeroDivide do begin ShowMessage('Делить на ноль нельзя!'); exit; end; on EconvertError do begin ShowMessage('Значения должны быть числовыми'); exit; end; end; |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 07.12.2008
Сообщений: 244
|
![]()
ну в вашем случае не хватает только закрывающего end. Запустите exe ошибка будет обрабатываться. При запуске в среде делфи может выдать ошибку
|̲̅̅●̲̅̅|̲̅̅=̲̅̅|̲̅̅●̲̅̅]
Последний раз редактировалось Volt; 07.03.2010 в 00:52. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 21.05.2009
Сообщений: 34
|
![]()
В том то и дело что хватает(скопировала без него). Программа работает. Но когда пытаюсь ввести 0, или не числовые символы за место сообщения программа вылетает.
И ругается на EZeroDivide. |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 07.12.2008
Сообщений: 244
|
![]()
в вашем варианте нет end каторый закрывает except без него не запустится. Исключение EZeroDivide возникает при деление на нуль тоесть в вашем случае если Edit28.Text равно нулю. ну и плюс выше сказаное запускайте вне среды то есть скомпилированы exe
|̲̅̅●̲̅̅|̲̅̅=̲̅̅|̲̅̅●̲̅̅]
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
попробуйте полученную программу запустить НЕ ИЗ СРЕДЫ Delphi
тогда всё будет работать с перехватом exception Если же хотите, чтобы и в среде Delphi программа не останавливалась на исключениях, тогда главное меню Delphi - Tools - Debugger Option - закладка "Language Exceptions" убрать "птичку" с "Stop on Delphi Exceptions" |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 21.05.2009
Сообщений: 34
|
![]()
Огромное спасибо за помощь! Все работает!
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
mysql_connect - обработка исключений | crazy horse | PHP | 15 | 10.02.2009 13:52 |
Обработка исключений ввода в TMaskedEdit | joker | Общие вопросы Delphi | 8 | 11.06.2008 15:02 |
обновление в блоге - Обработка исключений в Delphi | Pblog | Обсуждение статей | 0 | 11.09.2007 18:40 |