首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >异常需要4分钟才能抛出

异常需要4分钟才能抛出
EN

Stack Overflow用户
提问于 2011-04-13 22:33:39
回答 2查看 221关注 0票数 0

我有一个奇怪的问题:我有一些代码被try..捕捉

在catch片段中,我将对所发生的事情进行截图。

问题是,异常在错误条件之后需要几分钟才会被抛出,所以我得到了一个完全不同的截图。

是什么导致异常被抛出需要几分钟的时间?

谢谢

添加的代码:

WaitAndActivateWindow调用AutoIT将焦点放在有问题的窗口上(在整个代码中都会调用该方法,加载时间约为0.2秒。

代码语言:javascript
运行
复制
try
{
    // Load AutoIt defaults.
    LoadDefaults();

    // HandleInstallation();

    // Some more actions here
}
catch (Exception e)
{
    this.WaitAndActivateWindow();
    ScreenShotUtility.TakeScreenShot(@"UnhandledError");

    Log(e.ToString());

    throw;
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-13 22:46:58

抛出异常的时间不太可能是4分钟。在我看来,更有可能的是,在你的异常被捕获之前,由于堆栈正在解开而被释放的其他东西导致了延迟。

我会怀疑:

  • 打开到外部系统(数据库、网络等)的连接
  • 释放所有正在被销毁的对象集合的任何东西。例如,这些对象有没有复杂的IDisposable逻辑?

使用调试器运行代码,并使用一些适当放置的断点,可以迅速缩小问题的范围。@forsvarir关于在抛出和捕获异常时捕获时间戳的建议也会给你提供帮助。

票数 3
EN

Stack Overflow用户

发布于 2011-04-13 22:35:47

对于我来说,抛出异常需要很长时间的最常见情况是,操作系统(在我的例子中是most )正在向文件中写入核心转储(我的Mac已配置为执行此操作)。这只是一个值得关注的地方,但我相信还有很多其他的可能性。(问题中的更多信息可能会有所帮助。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5650960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档