|
Тема |
Re: Метате ли ексепшъни? [re: Eвлaмпи Пoпдимитpoв] |
|
Автор |
Eвлaмпи Пoпдимитpoв (световноизвесен) |
|
Публикувано | 28.03.10 00:34 |
|
|
Все пак, нека уточним как ажеба се пише грамотно ексепшън хандлер (за съжаление нашите Java приятели са вън на студа, понеже има __ИДИОТСКО__ правило в езика, което изисква, ако нещо мета - да хендълваш задълже, което тотално войдва смисъла на ексепшъните на първо място)
Та:
try/begin/whatever блок
пази и само пази
единствения и само него
успешно инициализиран ресурс
непосредствено преди него
В rescue, catch или както там се казва или ретрайваш или меташ нагоре или си топ левел или не е твоя работа да се буташ да хендълваш на първо място
Като бонус, ако езика поддържа лесен код-като-параметър е забавно това да го имплементираш веднъж и после да си го преизползваш с кеф, което допълнително дава конфиденция, че нещата са ок
def toggle(what) send("#{what}=", !send("#{what}?")); self end
|
| |
|
|
|