Граф наследования:ExampleCException:

| Открытые члены | |
| virtual std::string | getClassName () const | 
| Возвращает имя класса-исключения. | |
| virtual std::string | toString () const | 
| Возвращает "полное описание" исключения, включающее имя класса и место возникновения. | |
| std::string | toStringAll () const | 
| Возвращает "полное описание" текущего исключения и всех исключений, вложенных в него. | |
| template<class E> E * | is () | 
| Удобная функция для проверки является ли текущее исключение исключением класса E (или производным от него). | |
| template<class E> const E * | is () const | 
| Удобная функция для проверки является ли текущее константное исключение исключением класса E (или производным от него). | |
| void * | operator new (size_t size) | 
| Переопределенный для ускорения работы распределитель памяти. | |
| void | operator delete (void *ptr, size_t size) | 
| Переопределенный для ускорения работы распределитель памяти. | |
| Открытые атрибуты | |
| const FileLine | location | 
| место возникновения исключения. | |
| const std::string | message | 
| сообщение | |
| const sh_ptr< CException > | nested | 
| указатель на вложенное исключение, причину текущего, или 0 | |
| Защищенные члены | |
| ExampleCException (const FileLine &loc, const std::string &msg, sh_ptr< CException > nest) | |
| Друзья | |
| sh_ptr< CException > | newExampleCException (const FileLine &loc, const std::string &msg, sh_ptr< CException > nest=sh_ptr< CException >()) | 
| sh_ptr< CException > | newCException (const FileLine &loc, const std::string &msg, sh_ptr< CException > nest=sh_ptr< CException >()) | 
| Предназначена для создания объектов вместо конструктора. | |
См. определение в файле ceexample.cpp строка 23
| 
 | 
| Возвращает имя класса-исключения. Должна обязательно переопределяться в производных классах. Переопределяет метод предка CException. См. определение в файле ceexample.cpp строка 32 
 00032 { return "ExampleCException"; }
 | 
| 
 | |||||||||
| Удобная функция для проверки является ли текущее константное исключение исключением класса E (или производным от него). Возвращает ненулевой указатель запрашиваемого типа в случае положительного ответа. См. определение в файле cexception.hpp строка 123 
 00123 { return dynamic_cast<const E*>(this); }
 | 
| 
 | |||||||||
| Удобная функция для проверки является ли текущее исключение исключением класса E (или производным от него). Возвращает ненулевой указатель запрашиваемого типа в случае положительного ответа. См. определение в файле cexception.hpp строка 115 
 00115 { return dynamic_cast<E*>(this); }
 | 
| 
 | ||||||||||||
| Переопределенный для ускорения работы распределитель памяти. Корректно работает и с производными классами. См. определение в файле cexception.hpp строка 138 Перекрестные ссылки sized_alloc::free(). 
 00139       {
00140        sized_alloc::free(ptr, size);
00141       }
 | 
| 
 | 
| Переопределенный для ускорения работы распределитель памяти. Корректно работает и с производными классами. См. определение в файле cexception.hpp строка 129 Перекрестные ссылки sized_alloc::alloc(). 
 00130       {
00131        return sized_alloc::alloc(size);
00132       }
 | 
| 
 | 
| Возвращает "полное описание" исключения, включающее имя класса и место возникновения. Должна переопределяться производными классами, имеющими дополнительные данные. Переопределяется в ExternalCException. См. определение в файле cexception.cpp строка 36 Перекрестные ссылки CException::FileLine::fname, CException::getClassName(), CException::FileLine::line, CException::location и CException::message. Используется в CException::toStringAll(). 
 00037 {
00038  return StringBuf()+getClassName()+" ["+location.fname+":"+location.line+"]: "+
00039    message;
00040 }
 | 
| 
 | 
| Возвращает "полное описание" текущего исключения и всех исключений, вложенных в него. Фактически, результаты применения toString() к каждому из исключений объединяются в одну строку. См. определение в файле cexception.cpp строка 42 Перекрестные ссылки sh_ptr< CException >::get(), CException::nested и CException::toString(). 
 00043 {
00044  string ret;
00045  ret.reserve(1024);
00046 
00047  for (const CException* ptr=this; ptr; ptr=ptr->nested.get()) {
00048      ret.append(ptr->toString());
00049      ret.push_back('\n');
00050  }
00051 
00052  return ret;
00053 }
 | 
| 
 | ||||||||||||||||
| Предназначена для создания объектов вместо конструктора. Создает объект в свободной памяти по переданным месту исключения, сообщению и, возможно, вложенному исключению. Для передачи объекта loc удобно использовать макрос _FLINE_. См. определение в файле cexception.hpp строка 281 
 00283 {
00284  return sh_ptr<CException>(new CException(loc, msg, nest));
00285 }
 | 
| 
 | 
| место возникновения исключения. 
 См. определение в файле cexception.hpp строка 69 Используется в ExternalCException::toString() и CException::toString(). | 
| 
 | 
| сообщение 
 См. определение в файле cexception.hpp строка 71 Используется в ExternalCException::toString() и CException::toString(). | 
| 
 | 
| указатель на вложенное исключение, причину текущего, или 0 
 См. определение в файле cexception.hpp строка 73 Используется в CException::toStringAll(). | 
 1.3
1.3