Можно ли пометить код для компиляции только в режиме отладки? - PullRequest
4 голосов
/ 11 октября 2011

У меня есть структуры try catch (или с F #) по всему коду, но они мне не нужны в режиме отладки, мне проще отлаживать ошибки с помощью VS отладчика.

Поэтому я хочу отметить, что попытаться поймать кодовые строки для компиляции только в режиме релиза - это возможно или нет?

Ответы [ 5 ]

8 голосов
/ 11 октября 2011

Вы можете окружить их:

#if !DEBUG
...
#endif
4 голосов
/ 11 октября 2011

Вам нужны команды препроцессора, такие как:

#if !DEBUG
try {
#endif
code();
#if !DEBUG
}
catch(Exception)
{ dostuff(); }
#endif

Статья MSDN: http://msdn.microsoft.com/en-us/library/4y6tbswk.aspx

3 голосов
/ 10 июля 2012

Никто не упомянул о ConditionalAttribute, который может быть применен к блоку кода.Для ложного условия кодовый блок (и все его вызовы) пропускаются с этапа компиляции.

См .: https://msdn.microsoft.com/en-us/library/system.diagnostics.conditionalattribute(v=vs.110).aspx

3 голосов
/ 11 октября 2011

! не является директивой препроцессора в F #, поэтому вам нужно сделать:

#if DEBUG
#else
try
#endif

...

#if DEBUG
#else
with e -> ...
#endif
2 голосов
/ 11 октября 2011

вы можете использовать команду #if препроцессора

#if !DEBUG
try {
#endif
// your "exceptional" code
#if !DEBUG
} catch { }
#endif
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...