我有一个我构建的 dll 库,以帮助减少从项目复制到项目的样板代码量。dll 中运行了一个计时器,以通过 RPC 保持与我们机器的连接。当我调试我的项目并中断 RPC 连接时,我的代码优雅地从 dll 库中抛出一个断开事件,我的主窗体捕获该事件并适当地处理它。
现在,为发布而构建。当我断开 RPC 连接时,会从库中抛出一个未处理的异常,该异常显然没有在其他地方捕获。
奇怪的是,引发异常的代码在计时器中,并且调用都包装在 try/catch 块中,而 catch 块吞下异常并执行其他清理工作。
我不明白在调试模式下一切都很好,但在发布时却不是。那部分对我来说没有意义。我尝试查看异常对象并在其上设置一个已处理的属性,但它不可用。这是我所看到的正常行为吗?
我最近才开始在我的项目中使用大量库,以使我的解决方案更加精简和易于遵循。希望这不是我没有考虑过的库的问题。