Учимся программировать на языке C++

КАК ЗАСТАВИТЬ C++ ПРОВЕРЯТЬ ИСКЛЮЧИТЕЛЬНЫЕ СИТУАЦИИ


Прежде чем ваши программы могут обнаружить и отреагировать на исключительную ситуацию, вам следует использовать оператор C++ try для разрешения обнаружения исключительной ситуации. Например, следующий оператор try разрешает обнаружение исключительной ситуации для вызова функции file_соpy:

try

{

file_copy("SOURCE.ТХТ", "TARGET.ТХТ") ;

};

Сразу же за оператором try ваша программа должна разместить один или несколько операторов catch, чтобы определить, какая исключительная ситуация имела место (если она вообще была):

try

{

file_copy("SOURCE.ТХТ", "TARGET.ТХТ") ;

};

catch (file_open_error)

{

cerr "Ошибка открытия исходного или целевого файла" endl;

exit(1);

}

catch (file_read_error)

{

cerr "Ошибка чтения исходного файла" endl;

exit(1);

}

catch (file_write_error)

{

cerr "Ошибка записи целевого файла" endl;

exit(1);

}

Как видите, приведенный код проверяет возникновение исключительных ситуаций работы с файлами, определенных ранее. В данном случае независимо от типа ошибки код просто выводит сообщение и завершает программу. В идеале ваш код мог бы отреагировать и не так — возможно, попытаться исключить причину ошибки и повторить операцию. Если вызов функции прошел успешно и исключительная ситуация не выявлена, C++ просто игнорирует операторы catch.



Содержание раздела