- 1
- 2
- 3
- 4
- 5
try {
return JSON.parse(this.responseText)
} catch (e) {
throw e
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+173
try {
return JSON.parse(this.responseText)
} catch (e) {
throw e
}
паттерн "поддержка исключений" - если исключение всплывает - нужно его подтолкнуть, чтобы не потонуло х)
TarasB 05.03.2011 21:41 # 0
mindfreakthemon 05.03.2011 22:48 # −3
Без контекста не такой уж и говнокод
Lure Of Chaos 06.03.2011 19:49 # 0
gegMOPO4 06.03.2011 20:00 # +1
mindfreakthemon 06.03.2011 20:20 # 0
gegMOPO4 06.03.2011 21:24 # 0
mindfreakthemon 06.03.2011 21:26 # 0
К тому же, http://code.google.com/intl/ru/query/#q=rethrow
gegMOPO4 06.03.2011 21:36 # 0
mindfreakthemon 06.03.2011 20:23 # 0
Короче говоря, абстракция и всего-то.
gegMOPO4 06.03.2011 21:23 # +4
3.14159265 07.03.2011 00:49 # 0
Кстати неоднократно видел как в жабе пишут такое вот
try{
...
}catch(Exception e){
throw new RuntimeException(e);
}
Lure Of Chaos 07.03.2011 11:58 # +1
3.14159265 08.03.2011 02:53 # 0
>во-вторых, RuntimeException не требует обьявления в throws.
спасибо кеп.
Lure Of Chaos 08.03.2011 21:12 # 0
gegMOPO4 07.03.2011 13:52 # 0
И обычно лучше бросать не RuntimeException, а производное исключение, специфичное для приложения, чтобы иметь возможность поймать его отдельно. Но если всё, что нужно -- просто поймать и продиагностировать ошибку, то сойдёт.
striker 07.03.2011 04:29 # +1
mindfreakthemon 07.03.2011 08:03 # 0
Ну, обычно не всё так просто, как показано в #5897, потому и написал я первый раз, что без контекста не очень ясно.
striker 07.03.2011 13:53 # 0
mindfreakthemon 07.03.2011 14:07 # 0
Ну или, если забыть, что это javascript, если у нас используются какие-то ресурсы/соединения, их тоже нужно закрыть, а функция в return'е это и будет делать.
В общем, если будут у меня когда-то реальные примеры — я допишу :)
gegMOPO4 07.03.2011 13:54 # 0
Lure Of Chaos 06.03.2011 02:07 # 0