Содержание
- 2. Nortel Networks Confidential Исключения (exception) Генерация сообщения об ошибке (throw) Перехват этих сообщений (catch) В программе
- 3. Nortel Networks Confidential throw и catch class Stack { public: Stack(int size); void push(char c); //...
- 4. Nortel Networks Confidential Выбор исключений void f(unsigned int size) { try { Stack s(size); s.push(‘a’); char
- 5. Nortel Networks Confidential Группировка исключений class Exception {}; class StackError: public Exception {}; class Overflow: public
- 6. Nortel Networks Confidential Перехват исключений try { //... } catch (StackError& se) { // process Stack
- 7. Nortel Networks Confidential Перехват исключений 2 try { //... } catch (...) { // Все исключения
- 8. Nortel Networks Confidential Повторная генерация void f() { try { // ... throw Underflow(); } catch
- 9. Nortel Networks Confidential Повторная генерация 2 void g() { try { f(); } catch (StackError& re)
- 10. Nortel Networks Confidential Исключения в конструкторах Классические подходы: Возвратить объект в «неправильном» состоянии Присвоить значение глобальной
- 11. Nortel Networks Confidential Исключения в конструкторах Stack::Stack(int i) { if ( (i (i > MAX_SIZE) )
- 12. Nortel Networks Confidential Исключения и инициализация членов Schedule::Schedule(int i, Date d) try : m_stack(i), m_date(d) {
- 13. Nortel Networks Confidential Исключения и копирование Копирующий конструктор подобен другим конструкторам: может генерировать исключения при этом
- 14. Nortel Networks Confidential Исключения в деструкторах Нормальный вызов деструктора Вызов в процессе обработки исключения Во 2ом
- 16. Скачать презентацию