[ LUGOS ] exceptions

Polz of the SBT polz na writeme.com
Čet Mar 30 10:03:10 CEST 2000


> Pise program v C++ pa ga zanima kako naj ulovi SEGV sistemski signal?
> Try except ne deluje.
Upam, da velja tudi bolj C-jevska resitev.
man signal pove, da ukaz signal instalira nov signal handler za dolocen signal.

void (*signal(int signum, void (*handler)(int)))(int);

To pomeni, da mora najprej napisati procedurico, ki se naj pozene, ko 
mu program segfaultne.

npr. 
void sighandler(int num){
        if (num == SIGSEGV)
                fprintf(stderr, "Jest pa pisem, kjer ne smem! \n");
}


nekje ob zacetku programa mora potem napisati:

sighandler_t old_sighandler;

in v main:

old_sighandler = signal(SIGSEGV, sighandler); /* Ce bi ga kdaj hotel klicati */

> A sploh kdo ve o cem govori? :)

Ja, vecina ljudi na lugos-prog verjetno.

Upam, da se mu tole zdi vredno pice :).




Dodatne informacije o seznamu Starilist