Livejournal
Log in
Post
Friends
My journal
redis
in
code_wtf
Слегка кастомный instanceof
Jan 28, 2016 12:40
Даже не знаю, нужны ли здесь комментарии. Java.
Object obj = list.next();
try {
fileName = (String) obj;
} catch (Exception e) {
File file = (File) obj;
fileName = file.getAbsolutePath();
}
Leave a comment
Comments 8
display_none
January 28 2016, 11:59:22 UTC
предлагаю поддержать 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 = "ну извините";
}
}
}
Reply
redis
January 28 2016, 12:07:56 UTC
Вот да! Хороший, правильный стиль :)
Reply
n1919
January 28 2016, 13:45:44 UTC
и прога хакается созданием файла с именем "ну извините" ???
Reply
display_none
January 28 2016, 13:48:55 UTC
))))))То есть Вы хотите сказать что дальше там есть такой код:
if (fileName.equals("ну извините")) {
///
}
шикарно
Reply
dark_barker
January 28 2016, 12:27:26 UTC
Ну тут стрёмный несколько для java код, конечно, но если учитывать традиции других платформ, то не сказать что прям уж wtf)
Reply
redis
January 28 2016, 12:52:51 UTC
Ну, в общем да, обычное воплощение ужасной идеи. Но, с другой стороны - пока что WTF года и уж точно WTF января :)
Reply
display_none
January 28 2016, 13:43:40 UTC
Если бы там была цепочка инстансофов то это был бы обычный код-с-запашком, и можно было бы говорить о традициях.
А вот ловля ClassCastException, а уж тем более посредством ловли обычных Exception ни в какой платформе не приветствуется)
Reply
109
January 28 2016, 20:21:04 UTC
миллионы индусов даже не поймут, в чём тут wtf. и это страшно.
Reply
Leave a comment
Up
Comments 8
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 = "ну извините";
}
}
}
Reply
Reply
Reply
if (fileName.equals("ну извините")) {
///
}
шикарно
Reply
Reply
Reply
А вот ловля ClassCastException, а уж тем более посредством ловли обычных Exception ни в какой платформе не приветствуется)
Reply
Reply
Leave a comment