c# - 什么时候用什么时候不用 Try Catch Finally

标签 c# asp.net .net-3.5 try-catch-finally

我正在 .net 3.5 中创建 asp.net web 应用程序,我想知道何时使用以及何时不使用 Try Catch Finally block ?特别是,我的大部分 try catch 都围绕着执行存储过程和填充文本字段或 GridView ?当您执行存储过程并填充数据显示控件时,您会EVERYTIME 使用 Try Catch 吗?

我的代码块通常是这样的:

    protected void AddNewRecord()
    {
        try
        {
           //execute stored proc
           // populate grid view controls or textboxes
        }
        catch (Exception ex)
        {
           //display a messagebox to user that an error has occured
           //return
        }
        finally
        { }
   }

最佳答案

答案是“视情况而定”。

您可能希望在每个原子操作周围使用 try{...} catch {...} 以便在出现问题时可以回滚到上一个良好状态(使用交易)。这可能是一个或多个存储过程 - 这取决于您的应用程序。

如果您要捕获异常,请确保明确说明捕获了哪些异常。您不应该有 catch (Exception ex)catch() - 称为“捕获所有”异常处理 - 但有特定的 catch 语句,如 catch (IndexOutOfRangeException ex)(例如)代替。

但是,如果您无法处理异常或无法清理异常,则不应捕获它。

关于c# - 什么时候用什么时候不用 Try Catch Finally,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3186316/

相关文章:

c# - 将 JS 数组 = {} 发送到 C# (WebMethod)

c# - 如何比使用 DynamicInvoke 更快地调用委托(delegate)?

c# - 逗号分隔数字或数字的正则表达式

c# - 参数不正确。服务器或代码问题?

c# - 如何在 ASP.NET MVC3 中创建图形?

c# - 在循环中从哈希表中删除项目

asp.net - 将按钮单击事件移动到 asp 后未触发 :content

c# - ToolStripDropDownButton 右对齐显示在应用程序窗口之外

javascript - 当元素在 Javascript 中可见时,它会切换回隐藏状态

asp.net - 在 ASP.NET 中制作用户控件的最佳实践?