1. C# / Говнокод #12957

    +101

    1. 1
    2. 2
    3. 3
    4. 4
    if(searchParams == null)
    {
    	throw new NullReferenceException("параметры поиска = null" + searchParams.ToString());
    }

    Эдакий InnerException, чтоб верняково

    Запостил: NeoN, 01 Мая 2013

    Комментарии (15) RSS

    • подобной обработки ошибок на многих бизнес проектах полно.

      но вот до бросания системных исключений, даже наши жабщики еще не опускался.
      Ответить
    • throw new NullReferenceInception
      Ответить
      • throw new NullReferenceInvasion
        Ответить
      • and we need to go deeper
        if(searchParams == null)
        {
            throwNullReference(searchParams);
        }
        void throwNullReferene(var searchParams){
            String s=null;
            try{
                s=searchParams.ToString();
            }catch(Exception e){
                     throw new NullReferenceException(
                "параметры поиска = null"+s.ToString());
            }
        }
        Ответить
    • InnerException - это NullReferenceException при searchParams.ToString()?
      Ответить
    • А неужто компилятор одобрит? Компилятор жеж уже знает, что внутри этой ветки searchParams == null - как он позволяет у него еще методы какие-то вызывать?
      Ответить
      • компилятор это не проверяет, если не юзать контракты
        Ответить
        • Ну хотя, да, в принципе, я сразу подумал, что это локальная переменная, а это ж не обязательно.
          Ответить
    • тут просто программер лоханулся. простите его, ребята, он не хотел.
      Ответить
      • этот программер - ты?
        Ответить
        • Нет, это мой очень старый код) сам прозрел когда его увидел)
          Ответить

    Добавить комментарий