c# - 在 using block 内捕获异常与在 using block 外捕获异常 - 哪个更好?

标签 c# c#-3.0

这两段代码之间有什么区别吗?哪种方法更好。

try
{
    using()
    { 
      //Do stuff
    }
}
catch
{
    //Handle exception
}


using()
{
    try
    {
         //Do stuff
    }
    catch
    {
        //Handle exception
    }
}

最佳答案

存在差异,但归结为一个事实,即 using block 创建它自己的 try 和 scope block 。

try
{
    using(IDisposable A = GetDisposable())
    { 
      //Do stuff
    }
}
catch
{
    //Handle exception
    // You do NOT have access to A
}


using(IDisposable A = GetDisposable())  //exception here is uncaught
{
    try
    {
         //Do stuff
    }
    catch
    {
        //Handle exception
        // You DO have access to A
    }
}

关于c# - 在 using block 内捕获异常与在 using block 外捕获异常 - 哪个更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/911626/

相关文章:

c# - 没有 UI 线程的任务同步

c# - 模型优先 Entity Framework 应用程序中的验证

c# - 如何制作自己的事件处理程序?

只读集合属性的C#对象初始化

inheritance - C# - 构造函数和继承

c# - 如何将脚本语言从 C# 更改为 UnityScript?

c# - 编码的ui测试项目,获取asp标签的值

c# - 找不到命名空间或类(ASP.NET 网站 "project")

c# - 将 textwriter 分配给 memory writer

sharepoint - 共享点中的最大文件上传大小