C# 工作流基础中的异常异常捕获

C# 工作流基础中的异常异常捕获,c#,workflow-foundation-4,workflow-foundation,workflow-rehosting,C#,Workflow Foundation 4,Workflow Foundation,Workflow Rehosting,在我的一个项目中,我添加了对另一个项目的引用,该项目包含WF4的重新托管设计器。我的设想如下: 1.从现有xaml文件加载工作流。 2.在我的主应用程序中引发异常 在这一点上,我得到了一个很好的消息框,标题为Workflow Designer,并带有异常的完整堆栈跟踪。这就像在将工作流加载到设计器界面时,一个机制从某个地方开始处理我的整个应用程序 我必须提到,如果不先从xaml加载工作流,在抛出异常时,我的应用程序将崩溃 我无法理解这是怎么可能的,另一个项目中负责处理我整个应用程序异常的是什么

在我的一个项目中,我添加了对另一个项目的引用,该项目包含WF4的重新托管设计器。我的设想如下: 1.从现有xaml文件加载工作流。 2.在我的主应用程序中引发异常

在这一点上,我得到了一个很好的消息框,标题为Workflow Designer,并带有异常的完整堆栈跟踪。这就像在将工作流加载到设计器界面时,一个机制从某个地方开始处理我的整个应用程序

我必须提到,如果不先从xaml加载工作流,在抛出异常时,我的应用程序将崩溃

我无法理解这是怎么可能的,另一个项目中负责处理我整个应用程序异常的是什么

正如您在这张图片中看到的,异常被抛出:AEE.Tools.Unicom.Frames.ByteFrame.Assign方法。事实上,我没有一个尝试捕捉那里,这将是正常的,我的应用程序崩溃

我的输出中包含以下内容:

 A first chance exception of type 'System.NullReferenceException' occurred in AEE.Tools.UnicomNeEva.dll

 The thread '<No Name>' (0x2c50) has exited with code 0 (0x0).

 Step into: Stepping over non-user code 'MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen'

有人知道我是否可以阻止这种干扰吗?

尝试使用空引用是一种代码错误。或者在动态读取某个可以抛出此异常的内容时处理异常,或者更改逻辑以避免此情况发生。@Jauch我在这里引入此表达式以进行测试,最糟糕的是\n谁捕获了我的异常?事实上,我现在会去掉空引用,但在将来,任何不需要的东西都会显示为工作流设计器错误。。事实并非如此,我想说的是,从xaml文件加载工作流的过程处理异常而不是其他应用程序,当您不直接从文件中使用它时,由您来处理异常。“不是吗?@Jauch是的,类似的,但是那是什么样的手术,怎么可能呢?”?事实上,我只是从一个xaml文件加载一个工作流,我并没有启动supreme guard..当加载到设计图面时,设计器中的代码将执行。看看调用堆栈。解决办法是不要这样做。