Jawa / Говнокод #7523 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
try {
...
} catch (Exception ex) {
	wdComponentAPI.getMessageManager().reportException("ERROR", true);
}

Информативно так

Запостил: foGa foGa, (Updated )

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

  • Да, exception handling - одна из самых богатых источников говнокода. Почти как даты в PHP.
    Ответить
    • народ быстро забывает почему исключения называются исключениями.
      Ответить
      • Скорее всего всё, что будет доступно программисту для анализа исключения - это "информативная" строка "ERROR".
        Ответить
        • ну только если. может ему вообще эта ошибка с сообщением нафиг не нужна.
          Ответить
          • Какой вы всё-таки эгоист =) Очевидно, в проекте есть и другие люди, которые считаю такую обработку ошибок неприемлемой.
            Ответить
            • > Очевидно, в проекте есть и другие люди
              В проекте бывает более одного человека???? =)

              >которые считаю такую обработку ошибок неприемлемой.
              А может это они ошибаются? Ведь может так случится, что эта ошибка показывается конечному пользователю. А конечному пользователю, что "ERROR", "NullPointerException", что стектрейс равнозначны.
              Ответить
              • >В проекте бывает более одного человека???? =)
                Ты не поверишь...

                >А конечному пользователю, что "ERROR", "NullPointerException", что стектрейс равнозначны.
                Вот тут не согласен. Если обработка ошибки достаточна информативна, то и её проблему намного проще и быстрее вычислить.
                Ответить
                • Вычислить программисту. А если мне к примеру Photoshop выдаст стектрейс, я подумаю "Боже, что за кретины там работают."
                  Ответить
                  • Проект не только пишется, но и сопровождается. А чтобы было легче сопровождать, надо и на такие мелочи тоже обращать внимание.
                    Ответить
                    • Поэтому в серьезных проектах есть функция "Отправить отчет разработчику".
                      Ответить
                      • Смотря что за проект. Если у приложения одна точка входа, то это особо и не надо. Для этого есть логи при надобности. Но иногда можно и только сообщением об ошибке обойтись.
                        Ответить
                          • два слова описания ошибки иногда ценнее длииинного стектрейса. Да и юзверю иногда полезно показать, в чем именно он неправ
                            Ответить
                            • Я же с этим не спорю.

                              Краткий конспект сказанного выше.
                              1. Если обработка ошибки достаточна информативна, то и её проблему намного проще и быстрее вычислить. Проект не только пишется, но и сопровождается. А чтобы было легче сопровождать, надо и на такие мелочи тоже обращать внимание.

                              2. Смотря что за проект. Если у приложения одна точка входа, то это особо и не надо. Для этого есть логи при надобности. Но иногда можно и только сообщением об ошибке обойтись.

                              Можете прокомментировать эти 2 пункта? Мне кажется, что мы опять как глухой со слепым разговариваем, т. е. говорим о разных вещах. Что-то мне еще 234 коммента фигачить не хочеццо =)
                              Ответить
              • Моделируем ситуацию. Ты работаешь с приложением, написанным не тобой. И вдруг оно падает. Какое сообщение тебе больше понравится как пользователю, "ERROR" или "Указанный файл занят другим приложением. Попробуйте закрыть это приложение и повторить операцию."?
                Ответить
                • Согласен, что второе.

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

                  Вдруг "ERROR" это лишь код ошибки, а по нему уже формируется полноценное сообщение. Или эта строка показывает, что в UI надо показать диалог с ошибкой (т. е. что надо рисовать картинку ошибки, а не информации)?

                  Я все это к тому, что здесь тоже отсутствует контекст. И тяжело что-то однозначно сказать.

                  Вот было бы в комменте написано: "в этой try/catch секции производится анализ ввода пользователя. В reportException первый параметр текст, который будет отображаться, а второй флаг, отвечающий за показ этого сообщения пользователю". Вот тут уже можно говорить, что это говно. А так...
                  Ответить
                  • > А может этот try/catch из той серии...
                    Батенька, когда же вы перестанете делать предположения?
                    В разработке приложений должна быть дисциплина, почти армейская, и порядок, как в аптеке... Машина очень щепетильна в таких делах. А все баги - как раз недочеты людей, от невнимательности и безответственности.

                    Если исключению можно задать информативное описание, то оно должно быть, и быть именно информативным!
                    А еще (вам на будущее) то же касается всяческих проверок, как внешних данных, так и данных между более-менее независимыми частями; так же касается и контроля прав доступа - как людей, так и программ\процессов\объектов
                    Ответить
                    • >Вдруг "ERROR" это лишь код ошибки, а по нему ...
                      А почему вы проигнорировали вариант?

                      Предположения не закончу делать. Нельзя смотреть на код однобоко. В #7549 вы видели одну сторону, а я (и не только я) показали вам другую. Надо стараться увидеть как можно больше сторон.

                      П. С. Мне так нравится, что меня тут все учат. Как с детем неразумным возятся. Мило =)
                      Ответить
  • ч?V?C?A,J P!Y,U,U"V?I?RQR)O.G,Q:F!W?M!Q,XX,A"I"K!M)F"B:C?I"RJ"EB$H X(W.I:ZZ)P.T(J(A?WI G?X$G"P.T"K,C!C?J?B?E(O,H$K"I!H)K!A)Q:U?F"C"D:P$A"S T(W,LN)J?C!P(T!S,A?B)K!S)W Z.S$V!Z:L!T)I:RM Y LZ.K$GR?H$W"Z.M"Y G(P$V!R.Z!U$Y$G!U?D:H.M)AO J XR?V$G VMGE)H)F!M"Q!LZ!LG:N:P.V?H,W"N$K"B,H"N!K JI,F(Q!P,CII?D?C Q"N(G?I,F!P"C!P!P.PX)A:K!E,Y?M)K S)P!A Q"V,U!J.XESW:J"W$U,X?S:X!IK$R"T,I"Z?N(Y R?F I)N,BL:Z"Y,J$OX(A(L!H.FE!Y"N?AJ(Y:M!O,C"L(O$H(W)Y,ZZ"Y"GP"A.A.N:E$O(LY!N:U(X)P)Q)C)X"D"X.KJ,LX)A)K?C!X(E$G:A:M(J,D TTW.V C Y,K,I.G!WSIB:V D,J,U(W,D,XR$P)P(HE.J?P(BB.Y!G$R.N$Z,H?O$A?W(WU(C)U?L?N(L$H.A(O Q!Q?E(S)E"N"C.N.HF.E(G.B R,R!LF?B:R$Z.S"T)OH$A?U P"M(X,II:W?P:R S)B"H(Y!F H L(M"G,M Q:E?B.B$W:G!K?S?E!V Y T.DA$S)FJ"T"S)T:D$G.Z$T:F(O$GNC(L,C?OX B(O:WW)X,G)Q?B.HS,M Y!H,HS)P:C,S"A,RZ"L)M(E E"I M)W(R!V$H R?R!RZ,F!JV N?LQ:K:T!C$Y!N O"V)I)R K"M X(A"W$PE$O,K(X!G M?C A,T:JF)S.H:W E Q L N)P,G,Y U:X"N,P?R:L:M!D$R)M)Q!N!L V?X)O H.F!S.Q)M$T)V,L,J!Z Z.O?M O(Z?Q"Y(N$D?C(X,Q,E W"B$S!R?A"T!I?O?J)G"T)G G$KA(P:N$X,L)O$Z,G(M,E,D D!P(F I!W:J$V"RR!SS"R!H"L I(X!O(X,B!U,Q(P!G$J)I L!H?B(Y.R.Y$G V,E"M.T?E)A:L!R.Y,J)L W.Q:W"D O,H$ML:E OM$F F,O?W,O)M"W!K!S?X)T J(D)X)R"E"T,H?U,W)O V"X(V,B.J,M,K ZQ(J$K?NT?M?K T,G?Y A$W:A"D.V?B.U:C.A.A.S"V,EQ:V!I?DS)WR:V:H)J"P?P?D,J"X?O.E!Q:T G)S"M?A.B!X N?F"I,G(X!JN T$S$A?C"ZL!X.V(P?M?J"AV.V!H Z!F!S!X?D,Y:L$K!Z,O"U:Y.O Y:Z.R?D!N)MY!F$M!T$P,E"F"C(Y:I Z(V(N.C:J?U C!P)O Y,B$XB:A Z,QQ?T(M!E"D"VЗTUQABTFBJOAESWZAWAECDFYDZOKXFYLQMXKEAUPTUYXBBSUWNWVNWCWHBZPPHXRVEMKOIMQMNXJIAVSIJMMSVDVZRJZJLLAFIMPHTTQUGJVNISOATGNHYAXOPKRNYUOZXWLVUOJDBPQRFZBCCNXKMGXQDSAFUCAKEXCZIOXHUWYMNPRXBHAXXQGHMANPOCWAFYJSDJMJUHYGCWXDOYNG
    Ответить

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

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8