我有一个dll库,可以帮助减少从项目复制的样板代码的数量。有一个定时器在dll中运行,以通过RPC维护与我们机器的连接。当我调试我的项目并打破RPC连接时,我的代码优雅地从dll库中抛出断开连接事件,并且我的主窗体捕获事件并进行适当处理。从DLL中未处理的异常 - 仅在发布版本中显示
现在,构建发布。当我断开RPC连接时,一个未处理的异常从库中抛出,显然没有被捕获到其他地方。
奇怪的部分是引发异常的代码在计时器中,调用都被包装在try/catch块中,并且catch块吞下异常并执行其他清理工作。
我不明白在调试模式下一切都很好,但在发布它不是。那部分对我来说没有意义。我试着查看异常对象并在其上设置处理属性,但它不可用。这是我看到的正常行为吗?
我刚刚开始在我的项目中使用众多库来保持我的解决方案更加精简并易于遵循。希望这不是我没有考虑过的图书馆的问题。
您需要缩小问题范围。尝试添加一些日志功能,以便找出引发异常的位置。 – squelos 2012-04-11 14:55:46