Спецификации исключительных ситуаций



Иногда возникает необходимость заранее указать, какие исключения мо-

гут генерироваться в той или иной функции. Это можно сделать с помощью так называемой спецификации исключительных ситуаций. Это средство позволяет указать в объявлении функции типы исключительных ситуаций, которые могут в ней генерироваться. Синтаксически спецификация исключения является частью заголовочной записи функции и имеет вид:

объявление функции throw(тип1, тип2,…){тело функции}

 

где тип1, тип2,… − список типов, которые может иметь выражение throw внутри функции. Если список типов пуст, то компилятор полагает, что функцией не будет выполняться никакой throw.

void fun(char c) throw();

Использование спецификации исключительных ситуаций не означает, что

в функции не может быть сгенерирована исключительная ситуация некоторого не указанного в спецификации типа. Просто в этом случае программа по умолчанию завершится, так как подобные действия приведут к вызову неожиданного обработчика. Таким образом, когда функция генерирует исключительную ситуацию, не описанную в спецификации, выполняется неожиданный обработчик

unexpected().


 

26.Организация ввода\вывода.Манипуляторы << и >>

В С++ используется достаточно гибкий способ выполнения операций

ввода−вывода классов с помощью перегрузки операторов << (вывода) и >> (ввода). Операторы, перегружающие эти операции, обычно называют инсертером и экстрактором. Для обеспечения работы с потоками ввода−вывода необходимо включить файл iostream, содержащий класс iostream. Этот класс является производным от ряда классов, таких как ostream, обеспечивающий вывод данных в поток, и istream − соответственно чтения из потока.

 

Для перевода курсора на новую строку надо вставлять манипулятор endl.

Манипуляторы hex и oct используются для вывода числовой информации в шестнадцатеричном или восьмеричном представлении.

cout <<hex << j <<' ' << j <<' '<<dec << j <<' ' << oct << j <<endl;

Манипуляторы изменяют значение некоторых переменных в объекте cout.

Есть манипуляторы, позволяющие выполнять форматирование

выводимой на экран информации setw(), setfill(' '). Синтаксис их показывает, что это функции. На самом деле это компоненты-функции

#include "iomanip.h"

void main(){ int a=0x11; double d=12.362;

cout << setw(4) << a << endl;

cout << setw(10) << setfill('*') << a << endl;

 

#include "iostream.h"

#include "iomanip.h"

void main()

{ char s[]="БГУиР факультет КСиС";

cout << setw(30) << setiosflags(ios::right) << s << endl;

cout << setw(30) << setiosflags(ios::left) << s << endl;

}


 


Дата добавления: 2015-12-21; просмотров: 114; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!