А для чего в данном случае исключение? Для него должна быть веская причина. В данном случае можно а. Донести до пользователя что он что-то не ввёл иначе. б. Если обойтись без ответа нельзя, не позволять пользователю его не ввести.
Если пользователь не выбрал ответ на один из вопросов в тесте, то при подсчёте результата в функции getResult вызывается исключение
Исключение -- это не способ донести информацию до юзера, а способ донести информацию до разработчика. Вы же видите что пользователь может не ввести данеые, это не исключительная ситуация. Можно просто уведомить его о том что он что-то не заполнил.
Да, потом исключение перехватывается обработчиком который показывает messageBox
А почему бы сразу не отобразить попап с сообщением и не использовать для передачи этого сообшения эксепшн? И, возможно, задать правила валидация ввода. Например, на сайтах нельзя отправить форму до тех пор, пока не заполнены обязательные поля.
Но что тогда должен вернуть функция
Можно почитать про валидацию и попробовать всё по мануалу. В вашем случае, если не хочется всё сильно менять, достаточно проверить все ли ответы в массиве или что там на скрине, и вынести вердикт, все ответы заполнены или нет(bool). Если нет -- показать попап.
Обсуждают сегодня