Короче обрисовываю проблему подробно: Есть класс Bolvan: [code] class Bolvan { private: char* device; /*И т.д.*/ protected: int sg_fd; public: struct FDError { char* message; FDError (char* p) { message = p; } }; Bolvan (const char* io_device); /*и т.д.*/ }; [/code] У этого класса Bolvan усть конструктор: [code] Bolvan::Bolvan (const char* io_device) { sg_fd = open (io_device, O_RDONLY); if (sg_fd < 0) { char *msg; sprintf (msg, "Unable to open device %s\n", io_device); #ifdef DEBUG sprintf (msg, "open (io_device, O_RDONLY) failed. \n Maybe device name is not valid.\n Check open() call in bolvan.cpp\n"); #endif throw Bolvan::FDError (msg); } /*И т.д.*/ }; [/code] В драйвере программы: [code] Bolvan *CB; try { CB = new Bolvan ("/dev/hdc"); } catch (Bolvan::FDError) { delete CB; }; [/code] Проблема: После обработки исключения возникает Segmentation fault. причем даже если я сделаю просто [code] catch (...) { } [/code] То все равно возникает SF. В чем фигня? Причем все, что внутри catch выполняется (проверял дебаггером), а затем возникает SF. Самая проблема, что на одном форуме один челове выложил пример с исключением, котолрый у него РАБОТАЛ. Я этот пример компилю, у меня не работает. Может g++ обновить? У меня g++ 3.2 Помогите пожалуйста.
Ответ на:
комментарий
от PETER
Ответ на:
комментарий
от PETER
Ответ на:
комментарий
от dilmah
Ответ на:
комментарий
от PETER
Ответ на:
комментарий
от anonymous
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Снови исключения (2003)
- Форум Исключения в конструкторе (2003)
- Форум Хочу всеядный класс исключений, который не порождает сам исключения :) (2019)
- Форум Драйвер чтения и записи (2013)
- Форум Исключения (2003)
- Форум Перехват исключений (2013)
- Форум Библиотека исключений (2012)
- Форум Тестирование исключений (2012)
- Форум Amavisd Исключения (2019)
- Форум Проблемы исключений (2021)