- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
// Этот метод проверяет, создано ли окошло лога, если не создано, то создает его
public void CheckLogWnd()
{
try
{
if (logWnd.IsAccessible)
{
}
}
catch
{
logWnd = new LogWnd();
}
}
желание выебнуться всеже сильнее ))
такшо правильно будет примерно так (без эксепшенов):
public void CheckLogWnd() {
if(logWnd == null) logWnd = new LogWnd();
}
а минусы, я думаю ставят потому что автор запалился что это его код.
Если бы он сказал что это написали идиоты с его работы, то народ бы плюсы ставил.
почитайте на msdn, это ж азы программирования.
розумеется, о тех исключениях, которые не зависят непосредственно от твоего кода речь не идёт, но и тут стоит быть окуратным.
а в "catch {...}" нет ничё страшного, ведь это одно и то же, что "catch(Exception) {...}" када не нужна ссылка на экземпляр исключения. это тоже самое, что и ленивый "catch(...) {}" в C/C++.
я тоже так считаю, поэтому везде где может вывалиться эксепшн, причем для меня не важно какой, я никогда не указываю его тип...
а catch {...} - это всегда говнокод, у нормального программиста не должно быть ситуаций, когда ему не важно, какой эксепшн вывалился и где.
вот это действительно говнокод получется!
ситуации, когда похер на тип эксепшена хоть и очень редки, но всётаки бывают.
try { /*do something */ }
catch { alert("Произошла неведомая ебаная хуйня!"); }
будет примерно так:
try { /* do something */ }
catch (MyCoolException ex) {
alert("Произошла вот такая хуйня: " + ex.Message);
//пишем в лог, если опция включена
} catch (Exception ex) {
//программист мудак, но мы не хотим чтобы пользователь об этом узнал
alert("Произошла неведомая хуйня, обратитесь в поддержку.");
//пишем в лог
}
даже если нам не надо сообщать пользователю об ошибке, то ситуация, в которой вылетело что-то кроме MyCoolException является чем-то из ряда вон выходящим и достойна записи в логе :)