为了账号安全,请及时绑定邮箱和手机立即绑定

如何从遇到错误但需要类型的方法返回

如何从遇到错误但需要类型的方法返回

C#
翻过高山走不出你 2021-06-04 05:51:45
假设我有一个返回 a 的方法,List<int>并且在获取它的过程中List<int>发生错误,因此无法收集数据。在方法中处理此异常的最佳方法是什么?该程序期望该方法返回一个列表,但由于无论出于何种原因发生了错误,它无法再执行此操作。我应该从方法返回什么?是否是调用代码捕获的自定义异常?private List<int> GetData(){  List<in> theData = new List<int>();  theData = ProcessThatGetsData(); //Error occurs in here  return theData;  //What should be returned here?}
查看完整描述

2 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

如果你想捕获异常并处理它,一种方法是使用像这样的返回对象:


        private OperationResult GetData()

        {

            List<int> theData = new List<int>();

            try

            {

                theData = ProcessThatGetsData(); //Error occurs in here

                return new OperationResult { Success = true, Data = theData };

            }

            catch (Exception exc)

            {

                return new OperationResult { Success = false };

            }

            return theData;  //What should be returned here?

        }


        public class OperationResult

        {

            public bool Success { get; set; }

            public IList<int> Data { get; set; }

        }

这是一个选项,但是我的偏好是不将 try catch 语句放在此处,只放在您真正需要它的层……在这种情况下,您的代码不需要更改或担心返回类型。


无论您在何处调用 GetData 方法,都将调用放在 try/catch 语句中,您应该没问题。


请记住,始终在必须处理异常的级别处理异常,不要过度处理。


查看完整回答
反对 回复 2021-06-05
?
慕桂英546537

TA贡献1848条经验 获得超10个赞

是否是调用代码捕获的自定义异常

是的,只是让异常发生,调用方法负责处理异常(通过 try-catch 块)。


查看完整回答
反对 回复 2021-06-05
  • 2 回答
  • 0 关注
  • 116 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信