Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > try and catch


Автор: DenWPF 19.3.2010, 13:34
вот у меня есть места где ошибок вроде и не должно быть, но все же они там могут присутсвовать...

так вот насколько уменьшает производительность??

и что лучше сделать заключить весь код в try catch или только строчки где это может быть.

к примеру у меня 10 строчек кода, из них 3 места где может быть ошибка, заключить их отдельно или сразу все 10 строчек?

Автор: PashaPash 19.3.2010, 13:42
DenWPF, сама конструкция try/catch - не уменьшает производительность. Основное время уходит на обработку ошибки после ее возникновения.

try/catch на определенный кусок кода есть смысл ставить только если код сможет восстановиться - обработать исключение и продолжить работу. А просто так расставлять try/catch можно только из желания усложить себе жизнь smile

Автор: DenWPF 19.3.2010, 14:02
у меня программа должна работать все время и я не хочу что бы вылетела какая то ошибка и все пошла в тартарары..

ну я понял. гуд, значит на весь код

Автор: PashaPash 19.3.2010, 14:38
Цитата(DenWPF @  19.3.2010,  14:02 Найти цитируемый пост)
у меня программа должна работать все время и я не хочу что бы вылетела какая то ошибка и все пошла в тартарары..

а что она должна делать при ошибке скажем...ExecutionEngineException?

Автор: DenWPF 19.3.2010, 17:07
возращать false. 
а там функцию другая разберет что делать=) 

Автор: PashaPash 20.3.2010, 13:15
DenWPF, есть исключения, при которых приложение должно падать smile и оповещать пользователя или администратора.

Автор: Exai1e 20.3.2010, 13:18
DenWPF, про обработку исключений очень хорошо рассказано в книге "Совершенный код". В каких ситуациях как лучше поступить, уронить приложение, вернуть предидущее значение переменной к примеру, близкое к необходимым значение, оповестить пользователя и т.д., советую найти в инете или на книжной полке и почитать.

Автор: DenWPF 20.3.2010, 14:12
ок спасибо. почитаю.
программа даже не то что работает круглосуточно у неё есть задание по времени и она как бы вообще в идеале не должна мониторится человеком.

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