Drugi način je preko
try-throw-catch, ali je i komplikovaniji.
Pragmatičnije..
Ako ti npr. treba da se program prekida određenim tasterom, mogao bi da pustiš da celokupan proces diše kroz jedan while koji bi prvo ispitivao da li je ESC pritisnuto, i u tom slučaju prekinuo program, a u suprotnom puštao program da ide svojim tokom. Ovo naravno neće pomoći ako se neka od intermezzo funkcija "zabode", ali bi i u svakoj petlji koja bi bila potencijalno problematična mogao da postaviš kontrolu..
Code:
// --- samo koncept ---
#include <stdlib.h>
// ...
void uslovniprekid()
{ if(/*ESC pritisnut*/) exit(0); }
#define WHILE(X) while((uslovniprekid()),(X))
// ...
WHILE( /* uslov */ )
{
// ...
}
// ...
U praksi gotovo da nema potrebe za ovime.. samo exit ili throw na pravom mestu a i ta dva su retka.
Ipak se ++uje.