Macro RpcExcept (rpc.h)
L'istruzione RpcExcept fornisce la gestione strutturata delle eccezioni per le applicazioni RPC.
Windows Vista e versioni successive di Windows: RpcExceptionFilter è consigliato per la gestione delle eccezioni strutturate per le eccezioni più comuni come alternativa ai filtri personalizzati con RpcExcept. I filtri eccezioni personalizzati devono comunque usare RpcExcept.
Sintassi
void RpcExcept(
expr
);
Parametri
expr
Espressione valutata quando si verifica un'eccezione. Se expression restituisce un valore diverso da zero, vengono eseguite le istruzioni di eccezione. Se expression restituisce un valore zero, la rimozione continua con la funzione RpcTryExcept o RpcTryFinally successiva.
Valore restituito
nessuno
Osservazioni
Se non si verifica un'eccezione, le istruzioni di espressione ed eccezione vengono ignorate e l'esecuzione continua con l'istruzione che segue l'istruzione RpcEndExcept .
L'istruzione composta dopo la clausola RpcTryExcept è la sezione body o guarded. L'istruzione composta dopo la clausola RpcExcept è il gestore di eccezioni. Il gestore specifica un set di azioni da intraprendere se viene generata un'eccezione durante l'esecuzione del corpo della sezione protetta. L'esecuzione procede nel modo seguente:
- La sezione protetta viene eseguita.
- Se non si verifica alcuna eccezione durante l'esecuzione della sezione sorvegliata, l'esecuzione continua con l'istruzione dopo la clausola RpcEndExcept .
- Se si verifica un'eccezione durante l'esecuzione della sezione sorvegliata o in qualsiasi routine chiamata alla sezione sorvegliata, l'espressione __except viene valutata e il valore determina la modalità di gestione dell'eccezione. Sono disponibili tre valori:
- EXCEPTION_CONTINUE_EXECUTION (–1) Eccezione ignorata. Continuare l'esecuzione nel punto in cui si è verificata l'eccezione.
- EXCEPTION_CONTINUE_SEARCH (0) Eccezione non riconosciuta. Continuare la ricerca dello stack per un gestore, anzitutto per contenere le istruzioni try-except, quindi per i gestori con la precedenza successiva più elevata.
- L'eccezione viene riconosciuta. Trasferire il controllo al gestore eccezioni eseguendo l'istruzione composta __except, quindi continuare l'esecuzione dopo il blocco __except.
RpcExceptionCode può essere usato nelle istruzioni di espressione ed eccezione per determinare quale eccezione si è verificata.
Si applicano le restrizioni seguenti:
- Non è consentito saltare (attraverso un goto) in istruzioni sorvegliate .
- Il passaggio (tramite un goto) nelle istruzioni di eccezione non è consentito.
- La restituzione o il salto (tramite un goto) dalle istruzioni sorvegliate non è consentita.
- La restituzione o il passaggio (tramite un goto) dalle istruzioni di eccezione non è consentito.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | rpc.h |