加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 我可以在“使用”块中进行异常处理吗?

发布时间:2020-12-15 05:41:37 所属栏目:百科 来源:网络整理
导读:public virtual IQueryableHubs getribbons(bool includeChildObjects) { using (var dbHelper = new DbHelper()) { DbDataReaderExtended reader = null; try { const string sqlQuery = "Select * From [ribbons]"; reader = dbHelper.ExecuteReader(sqlQu
public virtual IQueryable<Hubs> getribbons(bool includeChildObjects)
        {
            using (var dbHelper = new DbHelper())
            {
                DbDataReaderExtended reader = null;
                try
                {
                    const string sqlQuery = "Select * From [ribbons]";
                    reader = dbHelper.ExecuteReader(sqlQuery,CommandType.Text,true);
                    IList<Hubs> models = new List<Hubs>();
                    while (reader.Read())
                    {
                        var model = GetHubDataFromReader(reader);
                        if (includeChildObjects)
                        {
                            model.Satellites = GetAllSatellites(true,model.HubID).ToList();
                        }
                        models.Add(model);
                    }
                    return models.AsQueryable();
                }
                finally
                {
                    if (reader != null) { reader.Close(); }
                }
            }
        }

这个功能在商业逻辑层中.在这里,我需要处理catch块中的异常并将其记录在那里,然后将它抛出到它首先调用的函数(表示层).然后在最后我需要关闭所有的东西.

请告诉我如何在这里进行错误处理.

我是C#的新手,请给我一些澄清,这对我很有帮助.

提前致谢

解决方法

无论是否抛出,最后都会调用块.

一旦退出Using块的范围,使用语句将对任何非null的内容调用IDisposable.Dispose().

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读