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


ru.unix

 
 - RU.UNIX ----------------------------------------------------------------------
 From : Victor Krapivin                      2:450/102.1    12 Apr 2000  13:26:11
 To : All
 Subject : Re: signals and exceptions
 -------------------------------------------------------------------------------- 
 
 > > Скажите, а можно ли как-нибудь под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
 --- ifmail v.2.14
  * Origin: BelCAF (2:450/102.1@fidonet)
 
 

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

 Тема:    Автор:    Дата:  
 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/102282867d08d.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional