TryParse-style methods report success or failure without throwing.

TryParse

TryParseExample.cs
using System;

class Program
{
    static void Main()
    {
        string input = ;
        bool parsed = int.TryParse(input, out int value);
        string status = parsed ? "ok" : "fallback";

        if (!parsed)
        {
            value = -1;
        }

        Console.WriteLine($"input={input}");
        Console.WriteLine($"status={status}");
        Console.WriteLine($"value={value}");
    }
}
using System;

class Program
{
    static void Main()
    {
        string input = ;
        bool parsed = int.TryParse(input, out int value);
        string status = parsed ? "ok" : "fallback";

        if (!parsed)
        {
            value = -1;
        }

        Console.WriteLine($"input={input}");
        Console.WriteLine($"status={status}");
        Console.WriteLine($"value={value}");
    }
}
using System;

class Program
{
    static void Main()
    {
        string input = ;
        bool parsed = int.TryParse(input, out int value);
        string status = parsed ? "ok" : "fallback";

        if (!parsed)
        {
            value = -1;
        }

        Console.WriteLine($"input={input}");
        Console.WriteLine($"status={status}");
        Console.WriteLine($"value={value}");
    }
}
TryParse `TryParse` returns a boolean and writes the parsed value through an out parameter.