c# - 逐步错误处理

标签 c# try-catch

我正在运行以下命令:-

    private void ConvertFile()

    {
        PrepElec1();
        MakeElec2();
        MakeElec3();
        MakeElec4();
        MakeElecMerged();
        SetDataSet.SetData(DtSet);
        btnConvert.Enabled = false;
        btnReport.Visible = true;
    }

我如何实现 try/catch,以便如果其中一个失败......

        PrepElec1();
        MakeElec2();
        MakeElec3();
        MakeElec4();
        MakeElecMerged();

...我收到一个消息框,显示在哪一步失败了?

最佳答案

您可以让异常的堆栈跟踪为您完成这项工作。

private void ConvertFile()
{
    try
    {
        PrepElec1();
        MakeElec2();
        MakeElec3();
        MakeElec4();
        MakeElecMerged();
        SetDataSet.SetData(DtSet);
        btnConvert.Enabled = false;
        btnReport.Visible = true;
    }
    catch (Exception e)
    {
        var trace = e.StackTrace;

        // format trace however you like

        MessageBox.Show(this, trace, "Error");
    }
}

关于c# - 逐步错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14425695/

相关文章:

c# User.IsInRole 命名空间

java - Java中如何处理异常而不必回到try block 的开头?

c++ - 我可以写一个类似于缩写函数模板的 catch 子句吗?

C# 反射类型参数数量可变的类型

c# - 更新列表中的项目不起作用

c# - 将图像效果(灰度)应用到屏幕(PC监视器)

c# - 如何更改站点的 IIS Express 端口

javascript - 我可以在不指定 catch 参数/标识符的情况下在 JavaScript 中使用 try/catch 吗?

swift - 尝试异步捕获

python - 在 Python 中组合 except 和 else