Каков общий способ обработки сложных результатов от функций с объектом? Простой метод может вернуть true или false, и это все, что мне нужно знать. Более сложный метод может возвращать true или false, но может быть больше информации, которую я хотел бы получить из класса, например, почему он потерпел неудачу (может быть несколько причин).
Я мог бы сделать это с исключением, но в некоторых местах я читал, что использование исключения для «обычных» функций не является хорошей практикой. Кроме того, поскольку исключение уничтожает объект, я больше ничего не могу с ним сделать, поэтому исключение не будет работать, если я захочу продолжать использовать объект. Мне кажется, что должно произойти исключение, если что-то действительно не так, а не ожидаемая, исправимая ошибка.
Итак, еще один путь к этому - иметь свойство result после запуска метода, и если этот метод возвращает false, я могу спросить, каково для него состояние результата. Это способ сделать это?