Сегодня 24 декабря, вторник ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7278
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
Russian Top Blogspot
Russian Top Blogspot
Голосов: 1
Адрес блога: http://rustop.blogspot.com/
Добавлен: 2008-05-28 00:23:16 блограйдером Lurk
 

Определение места badmatch при вызове одинаковых функций

2011-11-12 08:24:49 (читать в оригинале)

Итак, допустим, что у вас есть вот такой код: sometimes_not_ok(42) ->   not_ok; sometimes_not_ok(_) ->   ok. test() ->   ok = sometimes_not_ok(13),   ok = sometimes_not_ok(42). Функция sometimes_not_ok/1 возможно говорит с бд, или ещё чего-нибудь такого и может выбрасывать исключения/возвращать значения, которые никак не характеризуют аргументы, переданные ей. У нас есть 2 пути, как сделать так, чтобы мы знали, в каком месте случился фейл. Первый из них заключается в том, чтобы обернуть всё в case'ы: case sometimes_not_ok(13) of   ok ->     case sometimes_not_ok(42) of       ok ->         continue_here;       not_ok ->         not_ok_processing     end;   not_ok ->     not_ok_processing end. Однако согласитесь, код при этом станет выглядеть ужасно. А если вам нужно будет поменять две строчки местами? А если у вас сотня таких вызовов? Да и это какое-то дефендное программирование выходит, у эрланга несколько другая концепция. Второй же наш вариант,...

[content]

Тэги: erlang

 


Самый-самый блог
Блогер Рыбалка
Рыбалка
по среднему баллу (5.00) в категории «Спорт»


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.