ИСКЛЮЧИТЕЛЬНЫЕ СИТУАЦИИ И КЛАССЫ
При создании класса вы, возможно, захотите определить исключительные ситуации, характерные для данного класса. Чтобы создать исключительную ситуацию, характерную для конкретного класса, просто включите эту исключительную ситуацию в качестве одного из общих (public) элементов класса. Например, следующее описание класса string определяет две исключительные ситуации:
class string
{
public:
string(char *str);
void fill_string(*str);
void show_string(void);
int string_length(void);
class string_empty { } ;
class string_overflow {};
private:
int length;
char string[255];
};
Как видите, этот класс определяет исключительные ситуации string_empty и string_overflow. В своей программе вы можете проверить наличие исключительной ситуации, используя оператор глобального разрешения и имя класса, как показано ниже:
try
{
some_string.fill_string(some_long_string);
};
catch (string::string_overflow)
{
cerr "Превышена длина строки, символы отброшены" endl;
}