c# except結(jié)果順序怎樣定

c#
小樊
81
2024-11-16 13:25:39
欄目: 編程語言

在C#中,except語句用于捕獲和處理異常。當(dāng)在try塊中發(fā)生異常時(shí),程序會(huì)跳過剩余的try塊代碼,執(zhí)行與異常類型匹配的except塊中的代碼。如果有多個(gè)except塊,它們將按照它們?cè)诖a中出現(xiàn)的順序進(jìn)行處理。

以下是一個(gè)簡(jiǎn)單的示例,說明如何使用except語句捕獲和處理異常:

using System;

class Program
{
    static void Main()
    {
        try
        {
            int result = Divide(10, 0);
            Console.WriteLine("Result: " + result);
        }
        catch (DivideByZeroException ex)
        {
            Console.WriteLine("Error: Division by zero is not allowed.");
        }
        catch (Exception ex)
        {
            Console.WriteLine("Error: " + ex.Message);
        }
    }

    static int Divide(int a, int b)
    {
        return a / b;
    }
}

在這個(gè)示例中,我們嘗試將一個(gè)數(shù)除以零。這將引發(fā)DivideByZeroException異常。因?yàn)槲覀冊(cè)?code>catch語句中首先捕獲了DivideByZeroException,所以程序?qū)⑤敵?“Error: Division by zero is not allowed.”,而不會(huì)執(zhí)行后面的catch語句。

如果我們沒有首先捕獲特定的異常,程序?qū)错樞驁?zhí)行后續(xù)的catch語句,直到找到一個(gè)匹配的異常類型。在這種情況下,如果DivideByZeroException沒有被捕獲,程序?qū)?zhí)行最后一個(gè)catch語句,輸出 "Error: " 和異常的消息。

0