ES CSharp Keyword finally - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
C#: finally
Realiza acciones finales al intentar salir, particularmente durante una excepción. No garantizado en caso de accidente.
Ejemplo sencillo (Example.cs)
Guarde este ejemplo por separado como Example.cs. Ejecútelo independientemente de los demás ejemplos de esta página.
Example.cs:
// PROJECT-EXAMPLE
try { System.Console.WriteLine("Work"); }
finally { System.Console.WriteLine("Cleanup"); }
Resultado:
Work
Cleanup
Sintaxis
finally { ... }
Ejemplo 1: forma básica
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"); }
}
}
Ejemplo 2: otra forma práctica
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)); } }
Fuente oficial: Microsoft Aprender.