Главная страница


ru.unix

 
 - RU.UNIX ----------------------------------------------------------------------
 From : Serge A. Suchkov                     2:5020/400     19 Apr 2000  18:02:18
 To : All
 Subject : Re: signals and exceptions
 -------------------------------------------------------------------------------- 
 
 Victor Krapivin wrote:
 
 > > > Скажите, а можно ли как-нибудь подpужить сигналы с C++ exceptions? Давно
 > > > хочется это сделать, а как - что-то не въеду....
 > > Hельзя...
 >
 > Увы - не выходит каменный цветок 8-) Что-то вpоде этого сделать можно
 > - только огpаничений столько - что не попользуешься 8-)
 >
 > #define __try           if(!setjmp(jump_here)){ \
 >                         allowJump = 1; \
 >                         try
 > #define __except        else
 >
 > extern jmpbuf jump_here;
 > extern int allowJump;
 >
 > int sigHandler(int signo)
 > {
 >     if(allowJump){
 >         allowJump = 0;
 >         signal(signo, sigHandler);
 >         longjmp(jump_here);
 >     }
 >     else{
 >         cout << "Unexpected " << signo << " is detected" << endl;
 >         exit(0);
 >     }
 > }
 >
 
  а как насчет вложенных исключений ?
 
 >
 > Вот пpимеpно так. А с нитками - там такое... Плюнул и pешил не
 > связываться с ихними контекстами. Без помощи тpанслятеpа тpудновато
 > сделать.
 >
 > __try{
 >     int k = 0;
 >     k = 1/k; // 8-)
 > }
 > catch(...){
 >     cout << "Something else" << endl;
 > }
 > __except{
 >     cout << "Stone flower is complete 8-)" << endl;
 > }
 >
 > Viktor
 
 Посмотри вот это:
 
 Summary: An exception-handling library with design-by-contract features.
 Name: GEF
 Version: 4.0.3
 Release: 1
 Copyright: GNU  Library General Public License
 Group: Development/Libraries
 Source: ftp://home.rochester.rr.com/bigbyofrocny/GEF-4.0.3.tar.gz
 URL: http://home.rochester.rr.com/bigbyofrocny/GEF.html
 Distribution: Red Hat Contrib|Net
 Vendor: Bruce W. Bigby
 
 Мне правда все же пришлось от нее отказатся ... сейчас вот пытаюсь
 сделать свою ...
 код похож на твой ну очень :) только сигналы складываются в очередь а контексты
 в стек
 --
 Serge A. Suchkov
 --
 mailto:ss@e1.bmstu.ru    <--- Паранойя - болезнь пенсионеров ---<<<<<<<
 --
 --- ifmail v.2.15dev4
  * Origin: #kill -9 -1 (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: signals and exceptions   Victor Krapivin   12 Apr 2000 13:26:11 
 Re: signals and exceptions   Serge A. Suchkov   19 Apr 2000 18:02:18 
Архивное /ru.unix/102339a2f3c5b.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional