IT CSharp Keyword finally - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
C#: finally
Esegue le azioni finali all'uscita dal tentativo, in particolare durante un'eccezione. Non garantito in caso di incidente.
Esempio semplice (Example.cs)
Salvare questo esempio separatamente come Example.cs. Eseguirlo indipendentemente dagli altri esempi di questa pagina.
Example.cs:
// PROJECT-EXAMPLE
try { System.Console.WriteLine("Work"); }
finally { System.Console.WriteLine("Cleanup"); }
Risultato:
Work
Cleanup
Sintassi
finally { ... }
Esempio 1: forma base
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using System.IO;
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;
public static class Program
{
public static async Task Main(string[] args)
{
try { int number = int.Parse("invalid"); Console.WriteLine(number); }
catch (FormatException error) { Console.WriteLine(error.Message); }
finally { Console.WriteLine("Finished"); }
}
}
Esempio 2: un'altra forma pratica
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using System.IO;
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;
public static class Program
{
public static async Task Main(string[] args)
{
try { Validation.Positive(-1); }
catch (ArgumentOutOfRangeException error) when (error.ParamName == "value") { Console.WriteLine("Negative value"); }
finally { Console.WriteLine("Cleanup"); }
}
}
public static class Validation { public static void Positive(int value) { if (value < 0) throw new ArgumentOutOfRangeException(nameof(value)); } }
Fonte ufficiale: Microsoft Impara.