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

前端之家收集整理的这篇文章主要介绍了c# – 我可以在“使用”块中进行异常处理吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
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().

猜你在找的C#相关文章