.NET Framework Cattura un'eccezione


Esempio

Il codice può e deve generare eccezioni in circostanze eccezionali. Esempi di questo includono:

Il chiamante può gestire queste eccezioni "catturandole" e dovrebbe farlo solo quando:

  • Può effettivamente risolvere la circostanza eccezionale o recuperare in modo appropriato, oppure;
  • Può fornire un contesto aggiuntivo all'eccezione che sarebbe utile se l'eccezione deve essere ripetuta (le eccezioni ridistribuite vengono catturate dai gestori di eccezioni più in alto nello stack di chiamate)

Va notato che la scelta di non prendere un'eccezione è perfettamente valida se l'intenzione è quella di essere gestita ad un livello più alto.

La cattura di un'eccezione viene eseguita avvolgendo il codice potenzialmente lancio in un blocco try { ... } come segue e rilevando le eccezioni che è in grado di gestire in un catch (ExceptionType) { ... } :

Console.Write("Please enter a filename: ");
string filename = Console.ReadLine();

Stream fileStream;

try
{
    fileStream = File.Open(filename);
}
catch (FileNotFoundException)
{
    Console.WriteLine("File '{0}' could not be found.", filename);
}