2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Ещё подход к исключительным ситуациям
Сообщение18.02.2012, 22:07 
Нсколько знаю, распространены два подхода к обработке исключительных ситуаций в программах: поднятие исключения с переходом в место его обработки и возврат значения вида null (если все конструкции языка — выражения).

В первом случае мы скачем туда-сюда не очень-то и быстро. Во втором теряем информацию о типе ошибки.

Скорее всего то, что я предложил, уже кто-нибудь придумал, но не видел. Пусть значение null не атомарно, а содержит в себе, например, указатель на строку или вообще на что угодно, и это можно будет извлечь из значения каким-нибудь способом в нужное время. Пойдя дальше, можно любое значение снабдить такой информацией, но это уже не очень, наверно, кому-нибудь нужно.

Есть какие-нибудь слова за такое? (Против я и сам найду. :lol:)

 
 
 
 Re: Ещё подход к исключительным ситуациям
Сообщение19.02.2012, 08:58 
Аватара пользователя
Говоря терминами Haskell, вы придумали монадный трансформер ErrorT :) Ну да или даже просто монаду (Either e). В качестве примера: http://paste.in.ua/3887/
В языке без монадного синтаксиса это будет выглядеть ещё хуже, чем вариант с возвращением null. Потому что будет что-то типа http://paste.in.ua/3888/ (псевдокод).

 
 
 
 Re: Ещё подход к исключительным ситуациям
Сообщение19.02.2012, 13:07 
Аватара пользователя
 !  Portnov, устное замечание за нарушение правил использования внешних ссылок.
Правила форума в http://dxdy.ru/post27358.html#p27358 писал(а):
5. Внешние ссылки.
...
5.1. По возможности следует избегать использования внешних ссылок, а включать всю необходимую информацию в текст сообщений.
Для вставки в сообщение фрагментов программного кода пользуйтесь тегом syntax.

 
 
 [ Сообщений: 3 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group