Возвращение исключительной ситуации

  • Автор темы fedotxxl
  • Дата начала
F

fedotxxl

Всем привет... из темы, конечно, ничего не понятно =)

Итак, у нас есть функция. У функции есть правильный ход исполнения. Предположим во время исполнения функции возникла запланированная исключительная ситуация. Как вернуть информацию по исключению наверх?

Здесь есть маленькая оговорка - функция используется внутри класса и может использовать другие функции другий классов, которые так же могут вернуть ошибку.

Предлагаемые мною решения:
Вариант 1. Каждый класс содержит контейнер (errorAnswer). Если возникло исключение - функция заполняет контейнер и возвращает false
Вариант 2. В каждую функцию последним параметром передается переменная-контейнер, в которую функция может записать информацию по исплючению.
Вариант 3. Функция генерирует исключение, которое ловится выше

Что выбрали вы для решения данной проблемы?
 
N

nvyush

Вариант 4. Пишется библиотека с классом-контейнером ошибок, подключаемая во все остальные библиотеки.

Сам использую вариант 3.
 
F

fedotxxl

nvy
Оно так и есть. Вопрос как передавать между функциями / классами экземпляр класса контейнера? У меня тут возникла идея... что если сделать один глобальный экземпляр?
 
N

nvyush

nvy
Оно так и есть. Вопрос как передавать между функциями / классами экземпляр класса контейнера? У меня тут возникла идея... что если сделать один глобальный экземпляр?
Ну так а я о чём? Вариант №4. Сделать синглтон по рецепту link removed.
 
F

fedotxxl

nvy
Вобщем-то скорее всего на этом варианте и остановлюсь. Правда нужно поиграться еще здесь...
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!