Casa Sviluppo Che cos'è un blocco catch? - definizione da techopedia

Che cos'è un blocco catch? - definizione da techopedia

Sommario:

Anonim

Definizione - Cosa significa Blocco cattura?

Un blocco catch, in C #, è un blocco opzionale di codice che viene eseguito quando viene sollevata un'eccezione.


Il blocco di cattura è una parte specifica del costrutto di gestione eccezionale ed è implementato usando la parola chiave "catch" in combinazione con le parole chiave "try" e "finally" e costituisce il mezzo per implementare la gestione strutturata delle eccezioni. Un blocco try include il codice protetto che può causare l'eccezione. Allega dichiarazioni che trattano circostanze eccezionali e lavora per riprendersi da tali condizioni impreviste.


Il blocco di cattura costituisce il mezzo per gestire le eccezioni. Se questi non vengono gestiti, ciò può portare alla chiusura dell'intero programma entro il tempo di esecuzione di .NET. È possibile utilizzare un blocco catch per la gestione di eventuali o specifiche eccezioni.

Techopedia spiega Catch Block

Il modello di gestione delle eccezioni di Common Language Runtime (CLR) consente più di un blocco catch, ognuno dei quali è progettato per gestire un'eccezione specifica. Ogni volta che si verifica un'eccezione, il CLR cerca il blocco catch che gestisce l'eccezione. Se il metodo attualmente in esecuzione non contiene un tale blocco, CLR lo cerca nel metodo che ha richiamato il metodo corrente nello stack di chiamate. Se non viene trovata alcuna clausola corrispondente per tale eccezione nell'intero codice, l'esecuzione del thread viene interrotta e viene visualizzato all'utente un messaggio di eccezione non gestita.


Di seguito sono riportati alcuni suggerimenti relativi all'uso di un blocco catch:

  • Il tipo di eccezione deve essere specificato nel blocco catch solo dopo che è stato determinato il motivo alla base del verificarsi di specifiche eccezioni imprevedibili (come guasto irreversibile del sistema, uso improprio dell'API, ecc.) E il ripristino è stato implementato senza lasciare l'applicazione incoerente o stato non valido.
  • Il blocco di cattura deve essere posizionato in modo tale che le eccezioni più specifiche debbano essere rilevate prima di quelle meno specifiche.
  • Il blocco di cattura senza parametri viene definito "eccezioni alimentari" perché può eliminare gravi problemi difficili da eseguire il debug.
  • Il blocco di cattura può essere centralizzato in modo da poter gestire l'eccezione da una posizione centrale.
  • L'istruzione "lancio" può essere utilizzata all'interno del blocco catch per il quale lo stesso oggetto eccezione passato in lancio può essere passato nuovamente durante il rilancio.
  • Le variabili dichiarate all'interno di un blocco try non possono essere utilizzate al di fuori di esso.
  • Il codice non riprenderà al blocco try dopo l'esecuzione del blocco catch.
  • Il test del codice del gestore eccezioni nel blocco catch è essenziale per evitare di interrompere l'applicazione.
  • Il blocco catch non deve essere utilizzato per il codice di cleanup.
  • Il blocco di cattura senza parametri non può essere utilizzato per gestire le eccezioni non conformi al Common Language System (quelle non derivate da System.Exception).
Questa definizione è stata scritta nel contesto di C #
Che cos'è un blocco catch? - definizione da techopedia