Skip to content

EN CSharp Keyword try

Codex edited this page Oct 11, 2026 · 2 revisions

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

C#: try

Handbook C# · Practical Guide

Surrounds actions whose exceptions are handled by catch or followed by finally.

Simple example (Example.cs)

Save this example separately as Example.cs. Run it independently of the other examples on this page.

Example.cs:

// PROJECT-EXAMPLE
try { int.Parse("not a number"); }
catch (System.FormatException) { System.Console.WriteLine("Invalid"); }

Result:

Invalid

Syntax

try { ... } catch (...) { ... } finally { ... }

Example 1: simple form

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"); }
    }
}

Example 2: another practical form

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)); } }

Official source: Microsoft Learn.

Clone this wiki locally