在entlib 5中的错误处理期间处理对象

时间:2013-01-26 14:25:00

标签: c# exception exception-handling

我在MSDN中看到了以下示例。

exManager.Process(() =>GetDataSet("GetAllCustomers"), "Data Access Policy");

GetDataSet方法中处理数据库连接或文件句柄的任何想法/技巧? 例如,是否应该添加finally块以及如何添加?请指教。

1 个答案:

答案 0 :(得分:0)

C#有一个非常方便的using运算符:

using (var db = GetDbContext())
{
     GetDataSet(db, "GetAllCustomers");// data access code
}

上述块实际上等同于:

{
    DbContext db;
    try
    {
        var db = GetDataSet(db, "GetAllCustomers");
         // data access code
    }
    finally
    {
        db.Dispose();
    }
}

无论是否抛出异常,上下文都将被置于块的末尾。