пример, вторая версия в нашем
Автор admin Понедельник, 4 мая 2009 11:32
пример, вторая версия в нашем примере запускает исключение int), спецификация исключений f() будет нарушена. В соответствии с критериями пользовательских функций unexpected^), функция my_unexpected() не имеет аргументов и возвращаемого значения. Она просто выводит сообщение о своем вызове, а затем завершает программу (команда exit(O) используется для того, чтобы при построении примеров книги процесс make не завершался аварийно). Новая функция unexpected^) не может содержать команды return. В функции main() блок try заключен в цикл for, чтобы продемонстрировать все возможные варианты обработки исключений. Так обеспечивается некое подобие восстановления: блок try выполняется в цикле for, while или do, вы перехватываете все исключения и пробуете решить проблему, а затем снова пытаетесь выполнить блок try. Перехватываются только исключения Up и Fit, потому что создатель f() обещает, что функция запускает только эти исключения. Вторая версия д() приводит к вызову my_unexpected(), так как f() в этом случае запускает исключение типа int. Хотя значение, возвращаемое при вызове set_unexpected(), проигнорировано,
Комментарии закрыты.
Последние комментарии