Как прервать выполнение процесса-себя?
От: Picsaret  
Дата: 02.02.04 14:51
Оценка:
Привет всем

Ситуация такая — есть файл без которого программа не имеет смысла. Ставим файлу access denied(запрещаем доступ).

Программа выдаёт сообщение о том что доступ к файлу запрещён и должна закрыться.
Причём закрыться должна так, чтобы ни один последующий код не выполнился. И последующие try .. catch не работали. А то это сообщение може ещё раз десять вылететь.

Как это лучше сделать? Application.Exit(); — не выход.

Спасибо.
Re: Как прервать выполнение процесса-себя?
От: Undying Россия  
Дата: 02.02.04 15:11
Оценка:
Здравствуйте, Picsaret, Вы писали:

P>Ситуация такая — есть файл без которого программа не имеет смысла. Ставим файлу access denied(запрещаем доступ).


P>Программа выдаёт сообщение о том что доступ к файлу запрещён и должна закрыться.

P>Причём закрыться должна так, чтобы ни один последующий код не выполнился. И последующие try .. catch не работали. А то это сообщение може ещё раз десять вылететь.

P>Как это лучше сделать? Application.Exit(); — не выход.


А что мешает передавать этот вид исключения на высший уровень и только там обрабатывать (показывать сообщение об ошибке и вызывать метод завершения приложения)?
... << RSDN@Home 1.1 beta 2 >>
Re: Как прервать выполнение процесса-себя?
От: _DmitryMS  
Дата: 02.02.04 15:12
Оценка:
Raise your exception back. Err.Raise(...) Also, to test it you have to compile app in Release Mode.
Re: Как прервать выполнение процесса-себя?
От: ABCDEFG  
Дата: 03.02.04 08:02
Оценка:
Здравствуйте, Picsaret, Вы писали:

P>Привет всем


P>Ситуация такая — есть файл без которого программа не имеет смысла. Ставим файлу access denied(запрещаем доступ).


P>Программа выдаёт сообщение о том что доступ к файлу запрещён и должна закрыться.

P>Причём закрыться должна так, чтобы ни один последующий код не выполнился. И последующие try .. catch не работали. А то это сообщение може ещё раз десять вылететь.

P>Как это лучше сделать? Application.Exit(); — не выход.


P>Спасибо.


System.Diagnostics.Process.GetCurrentProcess().Kill();
Re[2]: Как прервать выполнение процесса-себя?
От: GarryIV  
Дата: 03.02.04 09:34
Оценка:
Здравствуйте, ABCDEFG! Вы писали:

P>> Ситуация такая — есть файл без которого программа не имеет смысла.

P>> Ставим файлу access denied(запрещаем доступ).

P>> Программа выдаёт сообщение о том что доступ к файлу запрещён и должна

P>> закрыться. Причём закрыться должна так, чтобы ни один последующий код
P>> не выполнился. И последующие try .. catch не работали. А то это
P>> сообщение може ещё раз десять вылететь.

P>> Как это лучше сделать? Application.Exit(); — не выход.


A> System.Diagnostics.Process.GetCurrentProcess().Kill();


Как то жестоковато

Логично и правильно обработать исключение и тихо мирно завершиться штатным образом. ИМХО.
Posted via RSDN NNTP Server 1.8 beta
WBR, Igor Evgrafov
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.