为啥 BizTalk Scope 没有捕获此 MissingPropertyException

Posted

技术标签:

【中文标题】为啥 BizTalk Scope 没有捕获此 MissingPropertyException【英文标题】:Why didn't BizTalk Scope Catch this MissingPropertyException为什么 BizTalk Scope 没有捕获此 MissingPropertyException 【发布时间】:2020-06-17 14:37:13 【问题描述】:

与这个问题非常相似:Handling Exceptions in Biztalk which don't get caught by Scope shape,但又是一个完全不同的错误。

我正在创建一个关于如何在 BizTalk 中捕获错误的教程,但实际上,它根本没有发现我的错误。我刚刚展示了如何使用提升字段,所以我删除了一个没有提升元素的文件。如果我在“Do XPaths”表达式的顶部放置一个除以零( x = x / x 其中 x =0),那么它会很好。

所以我知道错误的原因,以及如何解决它。但我在问为什么范围/捕获没有抓住它。

错误:

Shape name: Do XPaths ShapeId: 3c3c7019-6322-4fe8-85eb-3292601c6039
Exception thrown from: segment 2, progress 2
Inner exception: There is no value associated with the property 'SchemaLesson.Airline' in the
message.
Exception type: MissingPropertyException
Source: Microsoft.XLANGs.BizTalk.Engine

Orch“交易类型”是“长期运行”,我的范围也是如此。我还尝试将“事务类型”设置为“无”,结果相同。

【问题讨论】:

【参考方案1】:

那是因为您正在捕获 System.SystemException 而不是 System.Exception。 XLang 异常不是System.SystemException 的成员,而是System.Exception 的成员。 System.Exception 会收获更多。

另见System.Exception vs System.SystemException

【讨论】:

谢谢,很棒的收获;我以为我选择了 System.Exception;它们看起来很相似;已经这样做了 100 次,这让我发疯了。 @NealWalters 是的,我以前犯过这个错误,所以我马上就知道了,因为它已经烙印在我的记忆中了 ;-)

以上是关于为啥 BizTalk Scope 没有捕获此 MissingPropertyException的主要内容,如果未能解决你的问题,请参考以下文章

在 BizTalk 中,为啥要同时导入和安装 MSI 文件?

为啥我会收到此错误:未捕获的类型错误:无法读取 null 的属性 'classList'

为啥我的 BizTalk Orchestration 多次从消息框中接收相同的消息

为啥我不能通过 BizTalk SMTP 适配器更改正文部分的附件名称?

为啥dojo会发出这个错误?未捕获的类型错误:对象 [对象对象] 没有方法“查询”

使用 HTTPAdapter 和 Receive.dll 会引发错误