Вопрос: 'Может ли функция решить, как обрабатывать неверный / недействительный / недопустимый ввод?' .Если это возможно, то не должно возникать никаких ошибок, в противном случае возникает ошибка.
' Это что-то исключительное? '.Диски, заполняющие и вызывающие ошибки файловой системы, могут быть трудно понять, как иметь дело с.Неправильный пользовательский ввод может быть не таким уж необычным и, вероятно, может быть обработан с помощью обычного кода.
Исключения являются чрезвычайно мощными инструментами для возврата кода на ходу.Тем не менее, они нарушают поток кода и могут сделать логику обычной программы менее читаемой.
Обычно исключение приводит к фильтрации до функции вызывающего.В приведенном вами примере вы сразу же поймаете свою собственную ошибку - поэтому нет особого смысла выдавать ошибку.Вы можете так же легко напечатать строку и покончить с этим.
В приведенном выше примере может показаться, что функция должна быть в состоянии обрабатывать ошибки ввода, поскольку она также запрашивает данные и знает границы данных.Но это не всегда может быть правдой и зависит также от замысла и замысла.