Информация об изменениях

Сообщение Re[3]: Обработка ошибок от 27.09.2017 9:36

Изменено 27.09.2017 9:42 Terix

Re[3]: Обработка ошибок
Здравствуйте, night beast, Вы писали:

NB>Здравствуйте, Terix, Вы писали:


T>>Если мы пробуем провести операцию на уже побитом Option, она проводится не будет, а нам молча вернут ещё один дефектный Option.

T>>Преимуществом тут является, что не нужно мучаться с эксепшнами и то, что не надо проверять ошибки на каждый чих, а проверить только там, где нужно.

NB>теряется информация об ошибке и месте/условиях ее появления.


Сейчас в менстримных языках, в том месте, где произойдёт ошибка, будет сгенерирован эксепшн. Метод map его поймает и сохранит для потомков. В эксепшне будет написано где, что и как. Эксепшн BadOptionException обернёт этот эксепшн и подробности можно будет получить.
Re[3]: Обработка ошибок
Здравствуйте, night beast, Вы писали:

NB>Здравствуйте, Terix, Вы писали:


T>>Если мы пробуем провести операцию на уже побитом Option, она проводится не будет, а нам молча вернут ещё один дефектный Option.

T>>Преимуществом тут является, что не нужно мучаться с эксепшнами и то, что не надо проверять ошибки на каждый чих, а проверить только там, где нужно.

NB>теряется информация об ошибке и месте/условиях ее появления.


Сейчас в мейнстримных языках, в том месте, где произойдёт ошибка, будет сгенерирован эксепшн. Метод map его поймает и сохранит для потомков. В эксепшне будет написано где, что и как. Эксепшн BadOptionException обернёт этот эксепшн и подробности можно будет получить.