throw <выражение>;
возбуждает исключение, тип и значение которого определяются <выражением>
. В простейшем случае <выражение>
имеет один из стандартных типов, таких как целое число (int
), строка (const char*
) и т.д., но чаще всего в роли исключения используется объект специального класса.
С помощью ключевого слова try
в тексте программы выделяется блок операторов, исполнение которых, предположительно, может привести к исключениям. Для обработки исключений сразу после try
-блока помещается один или несколько catch
-блоков.
catch
-блоки) рассматриваются по порядку, один за другим, причём сработать может только один из них, или ни одного.try
-блока.try
-блоком.catch(...)
.
$ vim exception-1.cpp
$ g++ exception-1.cpp -o exception-1
FileException
для обработки исключений, возникающих при открытии файла:
$ mkdir include/FileException
$ vim include/FileException/FileException.h
$ vim include/FileException/FileException.cpp
Модернизируйте программу для чтения строк в файлах, используя написанный класс:
$ vim exception-2.cpp
$ g++ exception-2.cpp include/FileException/FileException.cpp -I include/FileException -o exception-2