esiste un modo multipiattaforma per gestire le eccezioni della CPU come errori di segmentazione o divisione per zero? Diciamo, ho bisogno di chiamare alcune funzioni potenzialmente non sicure (ad esempio da un file plug-in), che possono causare un segfault, o alcuni altri problemi che non posso testare prima di eseguirlo. So che la libreria C standard ha funzioni di gestione del segnale, ma non so come usarle per gestire il problema per evitare la terminazione del programma (suppongo, non posso semplicemente saltare alla posizione prima dell'esecuzione delle funzioni problematiche o posso?). In Windows potrei usare i gestori di eccezioni SEH, ma non posso farlo con Linux o con qualsiasi altro SO. Per quanto riguarda l'utilizzo del mio gestore di eccezioni per gestire questi problemi, quanto è diverso tra Windows/Linux? Sarebbe anche possibile (tramite assemblatore - diciamo solo sulla piattaforma x86)?Gestione delle eccezioni CPU in C++
Sto chiedendo per lo più per curiosità, non sto cercando di risolvere un problema esistente (ancora). Grazie
Questo può essere di interesse: http://stackoverflow.com/questions/4747934/c-catch-a-divide-by-zero-error –
mentre in caso di un segfault non si può fare nulla, io devo ammettere la divisione per zero, i casi di overflow e underflow mi hanno sempre colpito come probabilità e sarebbe bello riuscire a catturarli. –