Restrizioni ai gestori di terminazione
Non è possibile utilizzare un oggetto goto istruzione da passare a __try blocco di istruzioni o a __finally blocco di istruzioni.Al contrario, è necessario fornire il blocco di istruzioni con il normale flusso del controllo.(È possibile, tuttavia, provoca di un oggetto __try blocco di istruzioni.) Inoltre, non è possibile annidare un gestore di eccezioni o un gestore di terminazione in un oggetto __finally blocco.
Inoltre, alcuni tipi di codice consentiti in un gestore di terminazione producono risultati incerti, pertanto è necessario utilizzarle con cautela, all'occorrenza.Uno è un oggetto goto istruzione che ignora di un oggetto __finally blocco di istruzioni.Se il blocco viene eseguito come parte della terminazione normale, non di anomalo si verifica.Ma se il sistema sta rimuovendo lo stack, la rimozione viene interrotto e il controllo di notevoli miglioramenti di funzione corrente come se non vi sia stato anomala.
In return istruzione in un oggetto __finally il blocco di istruzioni elencate indicativamente nella stessa situazione.Il controllo ritorna al chiamante immediato di una funzione contenente il gestore di terminazione.Se il sistema stesse rimozione dello stack, questo processo viene interrotto e il programma procederà come se non sono presenti fa eccezione generata.