ufm: (Default)
[personal profile] ufm

Жалкое подобие левой руки.

Ну т.е. в 2013 году когда я вижу цепочку из

val, err = fun1()
if (err) {
...
}
val, err = fun2()
if (err) {
...
}

мне плакать хочется.

Originally published at U.F.M's Homepage. You can comment here or there.

(no subject)

Date: 2013-09-04 15:31 (UTC)
From: [identity profile] alex-butenko.livejournal.com
:) ты еще забыл перед ифами комментарий

(no subject)

Date: 2013-09-04 16:06 (UTC)
From: [identity profile] dil.livejournal.com
А ты как предпочитаешь? В try/except оборачивать?
Edited Date: 2013-09-04 16:07 (UTC)

(no subject)

Date: 2013-09-04 17:24 (UTC)
From: [identity profile] ufm.livejournal.com
Я испорчен Ерланговским подходом "дай ей умереть".
Ну в обычном языке - да. Ексепшн, и ловить только там, где это надо.

(no subject)

Date: 2013-09-04 18:55 (UTC)
From: [identity profile] dil.livejournal.com
Ну зачем сразу умирать-то, не все ошибки настолько фатальные.

(no subject)

Date: 2013-09-04 19:19 (UTC)
From: [identity profile] ufm.livejournal.com
не-не-не. Нефиг засорять основной поток ненужными проверками.
Пошло что-то не так - сразу эксепшн. А уж если вдруг его можно осмысленно отловить - ловить в нужном месте.

(no subject)

Date: 2013-09-05 08:24 (UTC)
From: [identity profile] dil.livejournal.com
Ну да, но нужное место может оказаться сразу после вызова функции, это ж от конкретной задачи зависит.

(no subject)

Date: 2013-09-06 10:11 (UTC)
From: [identity profile] ufm.livejournal.com
Но чаще оно нужно сильно выше. О том что нельзя записать сектор на диск обычно нужно знать не там где ты этот сектор пишешь, а где то в районе бизнеслогики, когда ты можешь понять что делать вот с этой картинкой, которую не удалось записать.