c#在catch语句中暂停不起作用

时间:2012-11-26 10:32:56

标签: c#

我有一个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();
        }
    }

2 个答案:

答案 0 :(得分:0)

你过了一秒/十分之一。

你只通过10毫秒,1000则是1秒。

System.Threading.Thread.Sleep(1000); // One Second.

答案 1 :(得分: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");
            }
        }
    }

请告诉我这是否有帮助!