Загвоздка-конструкция имеет параметр. Аргумент для выражения броска должен быть того же типа, что и параметр сточный конструкции. Вы тот, кто принимает решение о типе объекта параметра, который так же, как тип объекта аргумента. Аргумент выражения броска может быть буквальным или идентификатор. Вы тот, кто принимает решение о том, что. Вы берете эти решения в зависимости от характера ошибки и, как вы хотите, чтобы обработать ошибку. Загвоздка-блок должен следовать непосредственно за TRY-блок в вашей печати, как в приведенном выше синтаксисе.
Предыдущий код будет переписан с использованием Try /Catch построить следующим образом: #include с помощью патезрасе; INT Main () {INT числитель = 8; INT знаменатель = 2; попробуйте {если (знаменатель = 0) {INT ответ = числитель /знаменатель; соиЬ} еще {бросить 0; }} Поймать (INT адрес) {если (е == 0) соиЬ} возвращение 0; } Прочитайте выше коде, если вы не сделали этого. Во многих случаях, попытка блок эквивалентно имеет IF-состояние которого блок будет выполняться, если условие не обнаружит ошибку.
Если условие обнаруживает ошибку, ПЧ-блок не будет выполнять, а еще часть будет бросать исключение; что является еще часть будет вызывать поймать-блок отправки аргумент выражения броска к нему. Блок улов использует аргумент, чтобы отобразить соответствующее сообщение об ошибке пользователю. Это то, что происходит во многих случаях. Ошибки не обрабатываются, как правило, в истинном смысле этого слова; Обычно сообщение об ошибке посылается пользователю, ПЧ-построить в блока проверки предотвращает ошибку от действительно происходит.
После этой казни, программа продолжает последовательно от Try /Catch конструкции; и нет прекращения программы, даже если обнаружена ошибка. Попробуйте выше код. При инициализации знаменателе, выше, замените правый операнд с 0 и проверить код. Теперь попробуй блок может на самом деле имеют, если /остальное построить с много бросков. Б
net