c# except怎樣結(jié)合where用

c#
小樊
81
2024-11-16 13:26:38

在C#中,except關(guān)鍵字可以與where子句結(jié)合使用,以便在處理異常時(shí)應(yīng)用特定的條件。以下是一個(gè)示例:

using System;

class Program
{
    static void Main()
    {
        try
        {
            int[] numbers = { 1, 2, 3, 4, 5 };

            foreach (int number in numbers)
            {
                if (number == 3)
                {
                    throw new InvalidOperationException("Number 3 is not allowed.");
                }
                Console.WriteLine(number);
            }
        }
        catch (InvalidOperationException ex) where ex.Message.Contains("3")
        {
            Console.WriteLine("Caught an exception with message containing '3': " + ex.Message);
        }
        catch (Exception ex)
        {
            Console.WriteLine("Caught an exception: " + ex.Message);
        }
    }
}

在這個(gè)示例中,我們嘗試遍歷一個(gè)整數(shù)數(shù)組,并在遇到數(shù)字3時(shí)引發(fā)一個(gè)InvalidOperationException異常。然后,我們使用兩個(gè)catch塊捕獲異常。第一個(gè)catch塊使用where子句來(lái)檢查異常消息是否包含字符串"3"。如果條件滿足,它將處理異常。第二個(gè)catch塊捕獲其他類型的異常。

0