首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >biztalk 2006 R2中的异常处理

biztalk 2006 R2中的异常处理
EN

Stack Overflow用户
提问于 2010-03-16 17:45:10
回答 1查看 601关注 0票数 1

我有一个Biztalk 2006xlang项目(与ESB指南1一起使用),我在c#代码中从编排调用到一个静态方法,这个方法使用一个类将文件数据加载到xlang消息体的第0部分,当我传递不存在的filepath时,内部类捕获异常但不抛出它(在静态方法中有一个catch块,在编排中有对异常的实际处理)。

静态方法是:

代码语言:javascript
复制
public static XLANGMessage LoadFileIntoMessage(XLANGMessage message, string filePath,Encoding encoding)
        {
            try
            {
                IStreamFactory sf = new FileStreamFactory(filePath,encoding);

                message[0].LoadFrom(sf);
                return message;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

加载文件流的类是:

代码语言:javascript
复制
private class FileStreamFactory : IStreamFactory
        {
            string _fname;
            Encoding _encoding;

            public FileStreamFactory(string fname,Encoding encoding)
            {
                _fname = fname;
                _encoding = encoding;
            }

            public Stream CreateStream()
            {
                try
                {
                    StreamReader sr;
                    sr = new StreamReader
                    (
                        _fname,
                        _encoding
                    );

                    return sr.BaseStream;
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
        }

我从编排中调用静态方法,并期望在类和方法获得异常后,在编排中捕获该异常。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-03-16 20:34:13

我不确定这里的实际问题是什么.您是在谈论如何捕获编排中的异常吗?如何让它进入ESB异常处理系统?

要处理编排中的异常,您需要使用作用域形状(放入可能抛出异常的代码/形状的位置),然后添加一个异常处理程序(有点像try/catch块)。

有关ESB的内容,请参阅此处:http://msdn.microsoft.com/en-US/library/ee250235(v=BTS.10).aspx

最后,请允许我说:请不要像在代码中那样处理异常。你不应该仅仅为了再次抛出一个异常而捕获它。这是一种非常糟糕的编程实践,它会损害性能,还会导致您丢失异常的原始堆栈跟踪,从而使诊断和解决任何问题变得更加困难。请参阅http://winterdom.com/2002/09/rethrowingexceptionsinc

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2453266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档