Шрифт:
Здесь, для того чтобы перехватить все исключения, мы добавили инструкцию
Когда исключения обоих типов (
Снова обращаем ваше внимание на то, что значение, возвращаемое функцией
При использовании функции
Этой простой обработки ошибки нам будет достаточно, пока ситуация не усложнится и потребуется придумать более изощренный способ исправить ситуацию.
Обратите внимание на то, что использование функции
ПОПРОБУЙТЕ
Для того чтобы увидеть неперехваченное исключение, запустите небольшую программу, в которой функция
5.6.4. Суживающие преобразования
В разделе 3.9.2 продемонстрирована ужасная ошибка: когда мы присвоили переменной слишком большое значение, оно было просто усечено. Рассмотрим пример.
В разделе 3.9.2 показано, как защититься от такого сужения путем проверки. С помощью исключений (и шаблонов; см. раздел 19.3) можно написать функцию, проверяющую и генерирующую исключение
Угловые скобки,
7
Буквально гипсовая повязка. — Примеч. ред.
5.7. Логические ошибки
После устранения ошибок, выявленных компилятором и редактором связей, программу выполняют. Как правило, после этого программа либо ничего не выдает на печать, либо выводит неправильные результаты. Это может происходить по многим причинам. Возможно, вы просто неправильно поняли логику программы; написали не то, что намеревались; сделали глупую ошибку в какой-нибудь инструкции