【发布时间】:2011-05-01 06:45:23
【问题描述】:
我有一些框架/AOP 代码记录来自内部调用的方法的异常...
try {
..invoke inner code...
}
catch (Exception e) {
log(e);
throw;
}
这很好用,除了一件事......当我的团队尝试在 Studio 中调试他们的代码时,他们只看到日志代码中发生的异常(因为它被处理,然后从那里抛出)。
有什么方法可以让 Studio 忽略我的代码正在捕获/抛出异常……或者在不捕获异常的情况下检查异常?
更新: 问题是我的框架代码阻止了 real 异常的正确断点被命中。我知道 Visual Studio 中的调试器能够进行细粒度配置,我希望这里的人可以提供比“31 小时内学习 VS2010”更高层次的洞察力。我只是想同时记录内部代码中引起的异常,并在错误的位置发生中断而不打开“中断所有异常”,这将导致我的团队花费 5 分钟按下“继续”按钮每次他们启动应用程序时(但这是另一回事)。
更新 2: 这里的主要问题是如何记录异常,但让调试器不会在我的记录器中的“抛出”时停止,而是在初始异常时停止,而不会让调试器停止所有抛出的异常。
【问题讨论】:
-
如果您记录异常,为什么要重新抛出它以进行进一步处理?
-
尝试检查第一次机会和第二次机会异常。
-
@Shimmy:因为异常是有效的,我不希望我的应用程序继续处于无效状态。
-
@sh_kamalh 这是一个很好的线索......有没有一种机制可以让我做一些事情,比如为了第二次机会重新提升捕获的异常? (因为我是第一个抓到的?)
标签: c# visual-studio exception-handling debugging