示例代码:

  public SaveResultModel CheckDog()
        {
            SaveResultModel resultModel = null;
            try
            {
                resultModel.IsSuccess = false;
            }
            catch (Exception ex)
            {

                throw ex;
            }
           

            return resultModel;
        }

以上对异常的处理方式是非常错误,因为先捕获再抛出,会丢掉原异常的堆栈信息,反而不容易排查bug了。

正确的处理方式有两种:

1,不捕获,全部在最外层捕获,这样不会损失异常的堆栈信息;

2,抛出一个新的异常,增加一些自定义消息。如:

 public SaveResultModel SaveDog(Dog model)
        {
            SaveResultModel saveResult = new SaveResultModel();


            try
            {
                Dog dog2 = null;

                dog2.Age = model.Age;
            }
            catch (Exception ex)
            {
                saveResult.ErrorMsg = ex.Message;
                saveResult.IsSuccess = false;
                saveResult.StatusCode = -1;


                throw new Exception("SaveDog时报错,"+ex.Message,ex) ;
            }


            return saveResult;
        }

 

相关文章:

  • 2021-08-01
  • 2021-07-19
  • 2022-12-23
  • 2021-12-22
  • 2022-12-23
  • 2022-12-23
  • 2021-06-07
  • 2022-12-23
猜你喜欢
  • 2021-12-23
  • 2021-04-17
  • 2021-11-09
  • 2021-05-24
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案