Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > try, except ???


Автор: ne0n 4.11.2005, 17:07
Здрасте!!!
Вот решил в своей программе сделать исключительную ситуацию, но чето ни фига вышлоsmile
у меня есть процедура которая удаляет файл, если файл запушен а прога пытается его
удалить то возникает ошибка! Вот как я делал:
...
try
wipeFile(filename);
except
Show Message('Обломчик вышел');
end;
...

Автор: Snowy 4.11.2005, 17:17
Запусти ехешник без дельфи.

Автор: _hunter 4.11.2005, 17:21
или Internal Debugging отключи

Автор: Bose 4.11.2005, 17:56
в меню Tools->Debugger Options можно задать, какие исключения будет обрабатывать Debugger, а какие твоя программа.

Автор: Ugr 5.11.2005, 03:07
Цитата(ne0n @ 4.11.2005, 17:07)
в своей программе сделать исключительную ситуацию


если исключение возникает, его подымает Delphi сам,
если ты хочешь поднять исключение после своего сообщения
Код

try
  DoException()
except
  MyMessageBox('Examle for your message box function')
  raise; // поднять исключение
end;

Если в твоем примере не видел сообщение
значит исключения небыло

Автор: ne0n 5.11.2005, 12:45
Цитата(Snowy @ 4.11.2005, 17:17)
Запусти ехешник без дельфи.

Ну я и стормозил!

Только после моей мессаге появляется сообщение программы типа can't open file C:\1.txt
как его убрать! как я понял убирается в Tools->Debugger Options. а где?

Автор: RST8 5.11.2005, 12:58
А что у тебя написано после MyMessageBox('Examle for your message box function') ?

В Tools->Debugger Options отключается встроенный отладчик, это все равно что говый exe запускать
из проводника.

Автор: ne0n 5.11.2005, 13:34
Цитата(ne0n @ 4.11.2005, 17:07)
...
try
wipeFile(filename);
except
Show Message('Обломчик вышел');
end;
...


тут все написаноsmile

Автор: Droll 5.11.2005, 15:25
А вот и не все!
Немного изучив исходники, я обнаружил, что эту ошибку Delphi вызывает только при открытии файла из класса TFileStream. Но, как я не старался, чего только не вписывал в процедуру WipeFile, я при таком раскладе никак не мог получить ошибку. Так что посмотрите что у Вас происходит в этой процедуре, что происходит после try...except...end;

Автор: RST8 5.11.2005, 17:24
А еще лучше в отладчике по F7 выполнять команды и смотреть где будет ошибка. Затем то место поместить в try ... except

Автор: ne0n 5.11.2005, 21:17
Все разобрался!!!Всем спасибо!
З.Ы. WipeFile удаляла файл и ошибка происходила когда файл был открыт ками то приложением и его программа пыталась удалить!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)