Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 应用程序结束时不会抛出异常_C#_.net_Visual Studio 2010_Debugging_Exception - Fatal编程技术网

C# 应用程序结束时不会抛出异常

C# 应用程序结束时不会抛出异常,c#,.net,visual-studio-2010,debugging,exception,C#,.net,Visual Studio 2010,Debugging,Exception,下面的代码 new System.Threading.Timer(state => { var query = "Select Caption from Win32_OperatingSystem"; var objectQuery = new WqlObjectQuery(query); var searcher = new ManagementObjectSearcher(objectQuery); searcher.Get(); //

下面的代码

new System.Threading.Timer(state =>
{
     var query = "Select Caption from Win32_OperatingSystem";
     var objectQuery = new WqlObjectQuery(query);
     var searcher = new ManagementObjectSearcher(objectQuery);
     searcher.Get();
     //unreachable code
}, null, 0, 1000);
立即结束我的应用程序而不引发异常。 如果将这些行复制并粘贴到新的控制台项目中,则可能无法重现该问题。 上面的代码是我的Windows服务的一小部分,可能是问题的原因。上述代码由单元测试执行,单元测试正常运行,不会引发异常。 问题发生前最后执行的行并不总是相同的。 我该怎么办?

我替换了

this.timer = new Timer(
    TimerCallback,
    null,
    Settings.Default.CheckDelay,
    Settings.Default.CheckInterval);

这更难看,但解决了我无法解决的问题

new Thread(delegate()
    {
        Thread.Sleep(Settings.Default.CheckDelay);
        while (isRunning)
        {
            TimerCallback(null);
            Thread.Sleep(Settings.Default.CheckInterval);
        }
    }).Start();