0

我有一个try/catch块,并且在 catch 内试图应用暂停,但无论我尝试什么方法(暂停、线程睡眠)它都会继续。并忽略主块中的所有暂停。这是一个 .NET 错误吗?

catch (Exception ex)
{
    if (maxDelay < 1)
    maxDelay = 1;
    newpause(maxDelay);
    // Pause(maxDelay * 60);
    Current = "Error:" + txt;
    LogUpdater.UpdateLog(f, "Error sending : " + txt + ".");
    System.Threading.Thread.Sleep(10);
    bw.ReportProgress(1);

 }

 public void newpause(int maxDelay)
    {
        for (int i = 0; i < 60; i++)
        {
            System.Threading.Thread.Sleep(maxDelay*1000);
            Application.DoEvents();
        }
    }
4

2 回答 2

0

你过去的十分之一秒。

你只经过 10 毫秒,1000 就是 1 秒。

System.Threading.Thread.Sleep(1000); // One Second.
于 2012-11-26T10:38:02.757 回答
0

请尝试运行以下代码。它对我有用。

 class PauseExample
    {
        static void Main(string[] args)
        {
            int a = 90;
            int b = 0;

            try
            {
                int c = a / b;
            }
            catch
            {
                Console.WriteLine("In catch");

                System.Threading.Thread.Sleep(5000); //waits for 5 seconds

                Console.WriteLine("Out of catch");
            }
        }
    }

让我知道这是否有帮助!

于 2012-11-26T10:40:11.737 回答