Я не знаю, как реализовать запатентованную процедуру обработки пользовательских ошибок (подпрограммы / остановки алгоритма) или предупреждающих сообщений (подпрограмма / алгоритм может продолжаться) без использования исключений (т. Е. Failwith .... Стандартное исключение системы).
Пример: у меня есть модуль с рядом функций, который использует много входных данных для проверки и для расчета толщины компонента сосуда под давлением.
Процедура расчета является сложной, итеративной, и перед получением результата необходимо выполнить множество проверок, проверок, которые могут генерировать «определяемые пользователем ошибки», которые останавливают процедуру / процедуру / алгоритм, или генерировать «Предупреждающие сообщения», продолжающиеся на.
Мне нужно собрать эти Ошибки и Сообщения, которые будут показаны Пользователю в специальной форме (форма Wpf или Windows). Это позже в конце.
Примечание: каждый раз, когда я читаю книги F # или C # или Visual Basic или статью в Интернете, я обнаруживаю одну и ту же философию / предупреждение: повышение системного / пользовательского исключения должно быть максимально ограничено: исключение предназначены для неуправляемых исключительных событий (не предсказуемых) и вызывают «перегрузку» компьютерной системы.
Я не знаю, какую философию обработки реализовать. Я не совсем понимаю. Ограниченные источники доступны в Интернете по этому конкретному аргументу.
На самом деле я планирую принять эту Философию, взятую из: "https://fsharpforfunandprofit.com/posts/recipe-part2/". Звучит хорошо для меня, ... сложно, но хорошо. Никаких других ссылок, которые мне удалось найти, найти по этому актуальному аргументу .
Вопрос: Есть ли другие Философии, которые я могу рассмотреть, чтобы создать эту Собственную обработку / сбор пользовательских ошибок? Несколько книг для чтения или несколько статей?
Мое решение окажет большое влияние на то, как спроектировать и написать мой код (проблема разделения на несколько функций, генерация «мотора», который выполняется в функциях последовательности или затем компоновывается по-разному, в зависимости от результатов, где проверять ошибки. / Предупреждения, как хранить ошибки и предупреждающие сообщения, чтобы понять, что происходит или где «ошибки / предупреждения» генерируются и вызываются «какой функцией»?).
Большое спасибо заранее.