|
Страници по тази тема: 1 | 2 | 3 | (покажи всички)
Тема
|
Метате ли ексепшъни?
|
|
Автор |
Eвлaмпи Пoпдимитpoв (световноизвесен) |
Публикувано | 26.03.10 00:02 |
|
Напоследък преглеждам една codebase ~5000 реда, разделена на 3 (три, да) файла и ми е чудно как това изобщо стартира, еми то реално ако не е raise if е raise unless, повечето от места, които С++ хората биха нарекли конструктор :) Има четри сравнително топ-левел хандлера, понеже, през FFI границата изцепшън е сегфолт, иначе немаше да ги има - еми извинявам се много - права си буквално квото искам и това се дъни адекватно!
Това ексепшъните са чудо - метайте рано, метайте повече
def toggle(what) send("#{what}=", !send("#{what}?")); self end
| |
|
Никога няма да 'метна' изцепка! Освен в случаите когато деля на 0, или пипам по срамни места.
| |
|
много рядко, по-рядко от гото. никога не ползвам ексепшън за защита на мой код, само на чужд. а тия дето ползват throw все едно е алтернативна форма на ретурн, направо трябва да се редят по пет на греда.
NE SUTOR ULTRA CREPIDAM
| |
Тема
|
Re: Метате ли ексепшъни?
[re: zaphod]
|
|
Автор |
moreol () |
Публикувано | 26.03.10 10:31 |
|
| |
|
един вид попаднал си май на Exceptional Code ;-)
| |
|
public Date getTomorrow() {
try {
Thread.sleep(1000 * 60 * 60 * 24);
return new Date();
} catch (Exception ex) {
return getTomorrow();
}
}
| |
|
Останалите идеи от тук също са безценни
| |
|
Метаме, метаме. Сутрин първата ни работа!
| |
|
Не лошо да ги метаме, лошо е да ги гълтаме
| |
|
Бе ти се ебаваш, но това е най-големата неразбиранка - като хендълваш ексепшън логването е едно на ръка, после - или ретрайваш, или райзваш нагоре или си кхъм, нали...
Не може да имаш хандлер, който гълта без _сериозно_ обяснение.
def toggle(what) send("#{what}=", !send("#{what}?")); self end
| |
|
Страници по тази тема: 1 | 2 | 3 | (покажи всички)
|
|
|