关于C#内部异常加出错数据再抛出的方法

关于C#内部异常加出错数据再抛出的方法

   利用Exception类的“public Exception(string message, Exception innerException)”构造函数,加上出错数据再抛出的方法,既可以保存原来的内部出错信息,又可以显示出出错时当时的出错数据,这个方法非常好,具体代码如下:

 

                StringBuilder sbErrorData = new StringBuilder();

                try

                {

                    string sIntStr = "dfal";

                    sbErrorData.Append(sIntStr);

                    int i = int.Parse(sIntStr);

                }

                catch(Exception ex)

                {

                    throw new Exception("出错数据:"+ sbErrorData.ToString(), ex);

                }

 

再在外层调用捕捉异常后,用ex.ToString()输出的错误信息既有出错数据,又有内部异常的完整信息,更方便查找错误原因。错误信息如下:

System.Exception: 出错数据:dfal --->System.FormatException: 输入字符串的格式不正确。

   在 System.Number.StringToNumber(String str, NumberStylesoptions, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)

   在 System.Number.ParseInt32(String s, NumberStyles style,NumberFormatInfo info)

   在 System.Int32.Parse(String s)

   在 TestProj.Form1.button2_Click(Object sender, EventArgs e)位置 D:\Form1.cs:行号 70

   --- 内部异常堆栈跟踪的结尾 ---

   在 TestProj.Form1.button2_Click(Object sender, EventArgs e)位置 D:\Form1.cs:行号 74

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值