Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.03.2011, 01:14   #1
vitaliy1911
Пользователь
 
Аватар для vitaliy1911
 
Регистрация: 19.05.2010
Сообщений: 35
По умолчанию не работает обработчик исключений EConvertError

Код:
procedure TForm1.Button1Click(Sender: TObject);
var a: integer;
  begin
    try
      a:=strtoint('qwerty');
    except
      on EConvertError do
      showmessage('no');
    end;
  end;
скрин:


заранее спасибо за помощь
vitaliy1911 вне форума Ответить с цитированием
Старый 30.03.2011, 01:16   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а вы прочитайте до конца, вы ж в отладке, вот и показывает все исключения.
запускайте без отладки, или же continue жмите.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 30.03.2011, 01:22   #3
vitaliy1911
Пользователь
 
Аватар для vitaliy1911
 
Регистрация: 19.05.2010
Сообщений: 35
По умолчанию

что до конца прочитать? я не в отладке. где показывает все исключения?
я и так запускаю без отладки, где находится continue и что это я не знаю.
vitaliy1911 вне форума Ответить с цитированием
Старый 30.03.2011, 01:39   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

без отладки запускаете?
тогда чеж отладчик то вылазит?

так что запуск был именно в режиме отладки, продолжить(continue) это просто опять нажать run(запуск, зеленая стрелочка)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 30.03.2011, 01:43   #5
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Всё работает, вы забыли про класс Exception!
Код:
procedure TForm1.sGroupBox1Click(Sender: TObject);
var
  E: Exception;
  A: Integer;
begin
  try
    a := StrToInt('qwerty');
  except
    on E: EConvertError do
    begin
      ShowMessage('EConvertError handled!');
    end;
  end;
end;
Человек_Борща вне форума Ответить с цитированием
Старый 30.03.2011, 01:45   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

кстати в вашем случае не особо нужно уточнять тип исключения, это надо тогда когда вы обрабатываете несколько видов по разному.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 30.03.2011, 01:50   #7
vitaliy1911
Пользователь
 
Аватар для vitaliy1911
 
Регистрация: 19.05.2010
Сообщений: 35
По умолчанию

я запускаю без отладки, по крайней мере я это так называю (просто нажимаю на F9 или как раз на эту зеленую стрелочку). После этого открывается форма на которой одна кнопка - button1. Я нажимаю на кнопку, после этого появляется ошибка - та что на скрине. Я не могу понять почему она появляется, ведь обработчик исключений написан правильно, и по идее на экране должен появится message с текстом "no".
нажать на continue опять я не могу, потому что пока открыта ошибка эта кнопка не доступна.
vitaliy1911 вне форума Ответить с цитированием
Старый 30.03.2011, 01:52   #8
vitaliy1911
Пользователь
 
Аватар для vitaliy1911
 
Регистрация: 19.05.2010
Сообщений: 35
По умолчанию

пока писал предыдущие уже ответили спасибо большое!

режим отладки вы имели в виду запуск приложения непосрдетсвенно из delphi, я понял. Если запускать приложение из windows, то все работает. Спасибо еще раз

Последний раз редактировалось vitaliy1911; 30.03.2011 в 01:58.
vitaliy1911 вне форума Ответить с цитированием
Старый 30.03.2011, 03:39   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
по крайней мере я это так называю
лучше сразу поймите что это запуск с отладкой.
по умолчанию отладчик ступорится на исключении, кстати можно его закрыть и нажать опять F9 он продолжить должен(у мя в Д вообще сразу в окне исключения пишет продолжить)

и из под делфи можно запустить без отладки, но это отдельная команда(полистайте меню Run)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 30.03.2011, 10:19   #10
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Цитата:
я запускаю без отладки, по крайней мере я это так называю (просто нажимаю на F9 или как раз на эту зеленую стрелочку).
Я тебе открою секрет, что F9, равно как и "зелёная стрелочка" запускают программу под отладчиком. Сюрприз.

Рекомендую к прочтению: http://www.delphikingdom.ru/asp/view...ubHeader_2_1_1
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает обработчик события FormMouseDown? Кронос Помощь студентам 3 21.01.2011 12:55
"Project Project1.exe raised class EConvertError with message'''is not a valid floating point value'." Doz1metr Помощь студентам 9 24.06.2009 19:06
обработчик исключений try catch Hacker19_90 Общие вопросы C/C++ 1 27.02.2009 11:05
Ошибка:"Project raised exception class EConvertError..." Gambit90 Помощь студентам 6 14.01.2009 14:12
Обработчик исключений Delphi xxxPascalxxx Помощь студентам 5 30.11.2008 06:37