可以在C#構(gòu)造函數(shù)中拋出異常嗎

c#
小樊
83
2024-09-11 01:33:22

是的,可以在C#構(gòu)造函數(shù)中拋出異常

public class MyClass
{
    public MyClass(int value)
    {
        if (value < 0)
        {
            throw new ArgumentException("Value must be non-negative", nameof(value));
        }
        
        // 其他初始化代碼...
    }
}

在這個(gè)例子中,如果傳遞給構(gòu)造函數(shù)的值小于0,將會(huì)拋出一個(gè)ArgumentException異常。在調(diào)用此構(gòu)造函數(shù)時(shí),需要處理這個(gè)異常,否則程序會(huì)終止。

try
{
    var myInstance = new MyClass(-1);
}
catch (ArgumentException ex)
{
    Console.WriteLine($"Error: {ex.Message}");
}

0