调用对象时出现未处理的异常

Unhandled exception when calling object

我构建了以下 class:

   public class FSCServerLocator
    {
        public string userLocation { get; private set; }

        public string FSCServer
        {
            get
            {
                switch (userLocation)
                {
                    default:
                        return @"\himgwsfs01\QT_Tools\Diagnose_SWT_FSCs";
                }
            }
        }

        public FSCServerLocator(string location)
        {
            if (string.IsNullOrWhiteSpace(userLocation))
            {
                throw new Exception("No location included at initialization");
            }
            //parameter filtering
            userLocation = location;
        }
    }
}

然后像这样调用对象

var fscServerLocator = new FSCServerLocator(@"\himgwsfs01\QT_Tools\Diagnose_SWT_FSCs");

当 运行 程序抛出一个未处理的异常 {"No location included at initialization"}。 我只想看看是否到达了位置,但也许我遗漏了一些东西,因为我是 c#

的新手

您需要更改构造函数以查看 location 而不是 userLocation (见下文)以避免此异常:

    public FSCServerLocator(string location)
    {
        if (string.IsNullOrWhiteSpace(location))
        {
            throw new Exception("No location included at initialization");
        }
        //parameter filtering
        userLocation = location;
    }
    public FSCServerLocator(string location)
    {
        //parameter filtering
        userLocation = location;
        if (string.IsNullOrWhiteSpace(userLocation))
        {
            throw new Exception("No location included at initialization");
        }
    }

    public FSCServerLocator(string location)
    {
        if (string.IsNullOrWhiteSpace(location))
        {
            throw new Exception("No location included at initialization");
        }
        //parameter filtering
        userLocation = location;
    }

您试图在构造函数中设置之前使用对象的参数。您可以先设置它,也可以根据您打算设置它的参数进行测试。