Redis (redis) wrote in code_wtf,
Redis
redis
code_wtf

Слегка кастомный instanceof

Даже не знаю, нужны ли здесь комментарии. Java.

            Object obj = list.next();
            try {
                fileName = (String) obj;
            } catch (Exception e) {
                File file = (File) obj;
                fileName = file.getAbsolutePath();
            }
  • Post a new comment

    Error

    Comments allowed for members only

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 8 comments
предлагаю поддержать fallback
Object obj = list.next();
    try {
      fileName = (String) obj;
    } catch (Exception e) {
      try {
        File file = (File)obj;
        fileName = file.getAbsolutePath();
      }catch (Exception e1) {
        try {
          fileName = obj.toString();
        }catch (NullPointerException e2) {
          fileName = "ну извините";
        }
      }
    }
Вот да! Хороший, правильный стиль :)
и прога хакается созданием файла с именем "ну извините" ???
))))))То есть Вы хотите сказать что дальше там есть такой код:

if (fileName.equals("ну извините")) {
    ///
}


шикарно
Ну тут стрёмный несколько для java код, конечно, но если учитывать традиции других платформ, то не сказать что прям уж wtf)
Ну, в общем да, обычное воплощение ужасной идеи. Но, с другой стороны - пока что WTF года и уж точно WTF января :)
Если бы там была цепочка инстансофов то это был бы обычный код-с-запашком, и можно было бы говорить о традициях.

А вот ловля ClassCastException, а уж тем более посредством ловли обычных Exception ни в какой платформе не приветствуется)
миллионы индусов даже не поймут, в чём тут wtf. и это страшно.