- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
try {
/**
* Нахожу номер "начисления" в массиве "charges" По соответствию поля "adapter".
*/
_.each(currentEmployee.charges, function (charge, num) {
if (_.isEqual(charge.adapter, currentCharge.adapter)) {
throw num;
}
}, this);
} catch (num) {тут какой то код}
Lowezar 05.09.2012 19:43 # 0
bormand 05.09.2012 19:52 # +2
Elvenfighter 05.09.2012 20:43 # +1
istem 05.09.2012 22:39 # −3
, не?
Vindicar 06.09.2012 09:05 # −1
Тут try-catch используют как замену return, потому что кодер ниасилил организовать нормальный цикл вместо .each().
torbasow 06.09.2012 10:25 # −1
guest 07.09.2012 14:14 # +2
nur 07.09.2012 14:19 # 0
nur 06.09.2012 10:40 # +5
Разработчик объяснил свой выбор, сославшись на более опытного python разработчика, он даже не подумал а для чего
питонисты\node.js и тому подобные разрабы юзают эксепшены, на самом деле эксешены ловятся исключительно что бы не упал весь код, если где то вылетит ошибка то упадет весь сервер. а на клиенте использовать такой выход из цикла это пиздец, да и просто оборачивать код в try catch. для меня единственно оправданное применение try catch на клиенте это обертка всего кода, ловля исключения и отсылка в лог сообщения об ошибке, а не ради того чтоб некий код работал и иногда не падал
roman-kashitsyn 06.09.2012 19:55 # +4
nur 06.09.2012 20:04 # +2