Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 21123|Risposta: 0

[Fonte] Eccezioni e gestione delle eccezioni (Guida alla programmazione C#)

[Copiato link]
Pubblicato su 12/04/2015 22:22:03 | | |

La funzione di gestione delle eccezioni del linguaggio C# ti aiuta a gestire eventuali situazioni impreviste o insolite che si verificano mentre il programma è in esecuzione. La gestione delle eccezioni utilizza le parole chiave try, catch e finally per provare determinate operazioni e gestire i fallimenti, e sebbene queste operazioni abbiano il potenziale di fallire, puoi provare a farlo se sei sicuro di doverlo fare e vuoi ripulire le risorse in seguito. Common Language Runtime (CLR), . NET Framework o qualsiasi libreria o codice applicativo di terze parti può generare eccezioni. Le eccezioni vengono create utilizzando la parola chiave throw.
In molti casi, le eccezioni potrebbero non essere sollevate da un metodo chiamato direttamente dal codice, ma da un altro metodo più in basso nello stack di chiamate. In questo caso, il CLR espande lo stack per verificare se esiste un metodo che contiene un blocco di cattura per quel particolare tipo di eccezione e, se trova tale metodo, esegue il primo blocco di cattura trovato. Se non si trova alcun blocco di cattura appropriato da nessuna parte nello stack di chiamate, il processo viene terminato e un messaggio viene mostrato all'utente.
In questo esempio, un metodo viene utilizzato per rilevare se esiste una situazione in cui viene diviso per zero; Se c'è, l'errore viene rilevato. Se non c'è gestione delle eccezioni, questo programma terminerà e produrrà un errore "DivideByZeroException Not Handled".
  1. class ExceptionTest
  2. {
  3.     static double SafeDivision(double x, double y)
  4.     {
  5.         if (y == 0)
  6.             throw new System.DivideByZeroException();
  7.         return x / y;
  8.     }
  9.     static void Main()
  10.     {
  11.         // Input for test purposes. Change the values to see
  12.         // exception handling behavior.
  13.         double a = 98, b = 0;
  14.         double result = 0;

  15.         try
  16.         {
  17.             result = SafeDivision(a, b);
  18.             Console.WriteLine("{0} divided by {1} = {2}", a, b, result);
  19.         }
  20.         catch (DivideByZeroException e)
  21.         {
  22.             Console.WriteLine("Attempted divide by zero.");
  23.         }
  24.     }
  25. }
Copia codice






Precedente:C# determina se una stringa contiene un carattere
Prossimo:Verifica se un sito web è creato dal programma forum Discuz
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com