про исключения
Jul. 4th, 2013 07:21 amНынче как бы принято считать, что исключения - не лучший путь. Когда мы что-нибудь берём от внешнего мира, можно просто иметь дело с какой-нибудь монадой, и "отсутствующие значения", обозначаемые через null, просто не будут присутствовать, NPE бросать не с чего. И код вполне сознательно видит не схлопнутое значение, а монаду.
Да и во внешнем мире никаких нулей нет, нули возникают на границе восприятия, когда надо сказать, что данных нету. Ну не обязательно делать это через категорию Эленберга-Мура.
Одно исключение - SQL, но там всё монадично (кстати, стоит поучиться тому, как с налом обращаются в сиквеле).
Ну вот, и как бы от исключений избавимся, на типах всё.
А что делать с выводом? С нашим влиянием на внешний мир? Ну вот перестали бросать исключения. А данные никуда не идут. Мы думаем, что разговариваем со звёздами, но за пределы атмосферы наша речь не идёт. Ну или посылаем им udp, и чо? А там или никто не принимает, или ближайшая звезда в четырёх световых годах, столько коннекцию не держат, даже если tcp открыли.
Так что бросай, не бросай, всё какая-то ерунда получается.
Или есть какой-нибудь правильный ответ с комонадой?
Да и во внешнем мире никаких нулей нет, нули возникают на границе восприятия, когда надо сказать, что данных нету. Ну не обязательно делать это через категорию Эленберга-Мура.
Одно исключение - SQL, но там всё монадично (кстати, стоит поучиться тому, как с налом обращаются в сиквеле).
Ну вот, и как бы от исключений избавимся, на типах всё.
А что делать с выводом? С нашим влиянием на внешний мир? Ну вот перестали бросать исключения. А данные никуда не идут. Мы думаем, что разговариваем со звёздами, но за пределы атмосферы наша речь не идёт. Ну или посылаем им udp, и чо? А там или никто не принимает, или ближайшая звезда в четырёх световых годах, столько коннекцию не держат, даже если tcp открыли.
Так что бросай, не бросай, всё какая-то ерунда получается.
Или есть какой-нибудь правильный ответ с комонадой?